fragment:碎片 用于多屏显示 可以把activity里面的逻辑进行分离
fragment就可以看成view,依附于activity之上 3.0的时候有了。
fragment上面必须有view才能被显示。
<--------------------!!!!!!需要注意的是,以下演示的例子API一定要使用4.0以上的,否则很可能出错------------->
显示到前台:
MyFragment onAttach() 粘贴到activity上
MyFragment onCreate() fragment创建
MyFragment onCreateView() fragment创建自己的视图
MainActivity onCreate()
MyFragment onActivityCreated() 可以处理fragment数据的初始化
MainActivity onStart()
MyFragment onStart()
MainActivity onResume()
MyFragment onResume()
按后退键
MyFragment onPause()
MainActivity onPause()
MyFragment onStop()
MainActivity onStop()
MyFragment onDestoryView() 销毁掉自己的视图
MyFragment onDestory()
MyFragment onDetach() 解除和activity的关系
fragment就可以看成view,依附于activity之上 3.0的时候有了。
fragment上面必须有view才能被显示。
<--------------------!!!!!!需要注意的是,以下演示的例子API一定要使用4.0以上的,否则很可能出错------------->
显示到前台:
MyFragment onAttach() 粘贴到activity上
MyFragment onCreate() fragment创建
MyFragment onCreateView() fragment创建自己的视图
MainActivity onCreate()
MyFragment onActivityCreated() 可以处理fragment数据的初始化
MainActivity onStart()
MyFragment onStart()
MainActivity onResume()
MyFragment onResume()
按后退键
MyFragment onPause()
MainActivity onPause()
MyFragment onStop()
MainActivity onStop()
MyFragment onDestoryView() 销毁掉自己的视图
MyFragment onDestory()
MyFragment onDetach() 解除和activity的关系
MainActivity onDetory()
代码如下:
1、main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/fragment"
class="com.njupt.fragmentlife.MyFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
2、MyFragment
package com.njupt.fragmentlife;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MyFragment extends Fragment {
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
System.out.println("MyFragment onAttach");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("MyFragment onCreate");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
System.out.println("MyFragment onCreateView");
TextView tv = new TextView(getActivity());
tv.setText("我的fragment.... ");
return tv;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
System.out.println("MyFragment onActivityCreate");
}
@Override
public void onStart() {
super.onStart();
System.out.println("MyFragment onStart");
}
@Override
public void onResume() {
super.onResume();
System.out.println("MyFragment onResume");
}
@Override
public void onPause() {
super.onPause();
System.out.println("MyFragment onPause");
}
@Override
public void onStop() {
super.onStop();
System.out.println("MyFragment onStop");
}
@Override
public void onDestroyView() {
super.onDestroyView();
System.out.println("MyFragment onDestroyView");
}
@Override
public void onDestroy() {
super.onDestroy();
System.out.println("MyFragment onDestroy");
}
@Override
public void onDetach() {
super.onDetach();
System.out.println("MyFragment onDetach");
}
}
3、MainActivity
package com.njupt.fragmentlife;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println(" MainActivity onCreate");
}
@Override
protected void onStart() {
super.onStart();
System.out.println(" MainActivity onStart");
}
@Override
protected void onResume() {
super.onResume();
System.out.println(" MainActivity onResume");
}
@Override
protected void onPause() {
super.onPause();
System.out.println(" MainActivity onPause");
}
@Override
protected void onStop() {
super.onStop();
System.out.println(" MainActivity onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
System.out.println(" MainActivity onDestroy");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
打出来的日志信息如下图所示: