展会信息港展会大全

android开发之Fragment的生命周期
来源:互联网   发布日期:2015-09-29 10:57:06   浏览:2654次  

导读:Fragment的生命周期和Activity的生命周期类似。Fragment的生命周期和他依附的Activity对应的。Fragment中Resumed:当Fragment在他依附的Activity中可见是调用Paused:当另外的Activity到前台、或者获得焦点是,此 ...

Fragment的生命周期和Activity的生命周期类似。Fragment的生命周期和他依附的Activity对应的。Fragment中

Resumed:当Fragment在他依附的Activity中可见是调用

Paused:当另外的Activity到前台、或者获得焦点是,此时Fragment依附的Activity可能仍然可见(例如可能是透明的。或者不是占用整个屏幕显示)

Stopped:当Fragment不可见时调用。此时对应的Activity也Stopped

1、下面是Fragment依附的Activity的生命周期代码

package com.example.fragment2_life;

import android.os.Bundle;

import android.app.Activity;

import android.app.FragmentManager;

import android.app.FragmentTransaction;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

System.out.println("Activity>>onCreate");

Button button = (Button) findViewById(R.id.button1);

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

FragmentManager fragmentManager = getFragmentManager();

FragmentTransaction fragmentTransaction = fragmentManager

.beginTransaction();

MyFragment fragment = new MyFragment();

fragmentTransaction.add(R.id.ly_fragment_container, fragment,

"MyFragment");

fragmentTransaction.addToBackStack("MyFragment");

fragmentTransaction.commit();

}

});

}

@Override

protected void onStart() {

// TODO Auto-generated method stub

super.onStart();

System.out.println("Activity>>onStart");

};

@Override

protected void onResume() {

// TODO Auto-generated method stub

super.onResume();

System.out.println("Activity>>onResume");

};

@Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();

System.out.println("Activity>>onPause");

}

@Override

protected void onStop() {

// TODO Auto-generated method stub

super.onStop();

System.out.println("Activity>>onStop");

}

@Override

protected void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

System.out.println("Activity>>onDestroy");

}

}

2、Fragment生命周期代码

package com.example.fragment2_life;

import android.app.Activity;

import android.app.Fragment;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

public class MyFragment extends Fragment {

/*

* 当此Fragment第一次被加到一个Activity时调用,onCreate在其后调用

*/

@Override

public void onAttach(Activity activity) {

// TODO Auto-generated method stub

super.onAttach(activity);

System.out.println("Fragment>>onAttach");

}

/*

* 初始化此Fragment,在这儿进行本地成员变量的初始化,onCreateView在其后调用

*/

@Override

public void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

System.out.println("Fragment>>onCreate");

}

/*

* 加载此Fragment的布局文件,

* 如果要是更新UI的操作,必须要在View view被加载成功,才能更新

*/

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// TODO Auto-generated method stub

System.out.println("Fragment>>onCreateView");

return inflater.inflate(R.layout.fg, null);

}

/*

* 当Fragment被创建,且Fragment里的View被加载,就调用此方法,

* 前四个方法对应Activity的Create状态

*/

@Override

public void onActivityCreated(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onActivityCreated(savedInstanceState);

System.out.println("Fragment>>onActivityCreated");

}

/*

* 启动此Fragment

*/

@Override

public void onStart() {

// TODO Auto-generated method stub

super.onStart();

System.out.println("Fragment>>onStart");

}

/*

* 当此Fragment可见时,并且对应的Activity在运行

*/

@Override

public void onResume() {

// TODO Auto-generated method stub

super.onResume();

System.out.println("Fragment>>onResume");

}

/* Fragment不再可见,暂停

*/

@Override

public void onPause() {

// TODO Auto-generated method stub

super.onPause();

System.out.println("Fragment>>onPause");

}

/*

* Fragment停止,

*/

@Override

public void onStop() {

// TODO Auto-generated method stub

super.onStop();

System.out.println("Fragment>>onStop");

}

/*

* Fragment销毁里面的View,对应onCreateView方法

*/

@Override

public void onDestroyView() {

// TODO Auto-generated method stub

super.onDestroyView();

System.out.println("Fragment>>onDestroyView");

}

/*

* Fragment销毁

*/

@Override

public void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

System.out.println("Fragment>>onDestroy");

}

}

赞助本站

人工智能实验室

相关热词: Fragment 生命周期 android

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港