第一个Activity的布局
/**
* MainActivity布局xml文件
*/
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/button"
android:text="开启第二个Activity"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
<LinearLayout
android:id="@+id/linearlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#339999">
</LinearLayout>
</LinearLayout>
第二个Activity的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bwie.fragment.SecondActivity"
android:orientation="vertical">
<Button
android:id="@+id/button_finish"
android:text="finish"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
<LinearLayout
android:id="@+id/linearlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#339999">
</LinearLayout>
</LinearLayout>
----------------------------------------------------------------------------------------------------------------------
接下来是第一个Activity中的代码
public class MainActivity extends AppCompatActivity {
private static final String LOG_TAG ="MainActivity";
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.w(LOG_TAG, "==============onCreate()");
FirstFragment firstFragment = new FirstFragment();
android.support.v4.app.FragmentManager supportFragmentManager = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction();
fragmentTransaction.add(R.id.linearlayout,firstFragment,"firstFragment");
fragmentTransaction.commit();
mButton = (Button) findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.w(LOG_TAG, "------------------mButton onClick-------------------");
startActivity(new Intent(MainActivity.this, SecondActivity.class));
}
});
}
@Override
protected void onStart() {
super.onStart();
Log.w(LOG_TAG, "==============onStart()");
}
@Override
protected void onRestart() {
super.onRestart();
Log.w(LOG_TAG, "==============onRestart()");
}
@Override
protected void onResume() {
super.onResume();
Log.w(LOG_TAG, "==============onResume()");
}
@Override
protected void onPause() {
super.onPause();
Log.w(LOG_TAG, "==============onPause()");
}
@Override
protected void onStop() {
super.onStop();
Log.w(LOG_TAG, "==============onStop()");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.w(LOG_TAG, "==============onDestroy()");
}
}
第二个Activity里面的代码
public class SecondActivity extends AppCompatActivity {
private static final String LOG_TAG ="SecondActivity";
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Log.w(LOG_TAG, "==============onCreate()");
SecondFragment secondFragment = new SecondFragment();
android.support.v4.app.FragmentManager supportFragmentManager = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction();
fragmentTransaction.add(R.id.linearlayout,secondFragment,"secondFragment");
fragmentTransaction.commit();
mButton = (Button) findViewById(R.id.button_finish);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.w(LOG_TAG, "------------------mButton onClick-------------------");
finish();
}
});
}
@Override
protected void onStart() {
super.onStart();
Log.w(LOG_TAG, "==============onStart()");
}
@Override
protected void onRestart() {
super.onRestart();
Log.w(LOG_TAG, "==============onRestart()");
}
@Override
protected void onResume() {
super.onResume();
Log.w(LOG_TAG, "==============onResume()");
}
@Override
protected void onPause() {
super.onPause();
Log.w(LOG_TAG, "==============onPause()");
}
@Override
protected void onStop() {
super.onStop();
Log.w(LOG_TAG, "==============onStop()");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.w(LOG_TAG, "==============onDestroy()");
}
}
---------------------------------------------------------------------------------------
接下来是第一个Fragment里面的代码
public class FirstFragment extends Fragment {
private static final String LOG_TAG = "FirstFragment";
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;
public FirstFragment() {
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
Log.w(LOG_TAG, "onAttach...");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.w(LOG_TAG, "onCreate...");
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.w(LOG_TAG, "onCreateView...");
return inflater.inflate(R.layout.fm_item, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Log.w(LOG_TAG, "onActivityCreated...");
}
@Override
public void onStart() {
super.onStart();
Log.w(LOG_TAG, "onStart...");
}
@Override
public void onResume() {
super.onResume();
Log.w(LOG_TAG, "onResume...");
}
@Override
public void onPause() {
super.onPause();
Log.w(LOG_TAG, "onPause...");
}
@Override
public void onStop() {
super.onStop();
Log.w(LOG_TAG, "onStop...");
}
@Override
public void onDestroyView() {
super.onDestroyView();
Log.w(LOG_TAG, "onDestroyView...");
}
@Override
public void onDestroy() {
super.onDestroy();
Log.w(LOG_TAG, "onDestroy...");
}
@Override
public void onDetach() {
super.onDetach();
Log.w(LOG_TAG, "onDetach...");
}
}
最后是第二个Fragment里面的代码
public class SecondFragment extends Fragment {
private static final String LOG_TAG = "SecondFragment";
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;
public SecondFragment() {
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
Log.w(LOG_TAG, "onAttach...");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.w(LOG_TAG, "onCreate...");
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.w(LOG_TAG, "onCreateView...");
return inflater.inflate(R.layout.fm_item, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Log.w(LOG_TAG, "onActivityCreated...");
}
@Override
public void onStart() {
super.onStart();
Log.w(LOG_TAG, "onStart...");
}
@Override
public void onResume() {
super.onResume();
Log.w(LOG_TAG, "onResume...");
}
@Override
public void onPause() {
super.onPause();
Log.w(LOG_TAG, "onPause...");
}
@Override
public void onStop() {
super.onStop();
Log.w(LOG_TAG, "onStop...");
}
@Override
public void onDestroyView() {
super.onDestroyView();
Log.w(LOG_TAG, "onDestroyView...");
}
@Override
public void onDestroy() {
super.onDestroy();
Log.w(LOG_TAG, "onDestroy...");
}
@Override
public void onDetach() {
super.onDetach();
Log.w(LOG_TAG, "onDetach...");
}
}
-------------------------------------------------------------------------------------------
最后是运行结果:
1、第一次打开以后:
1.com.example.kuguan.anlearning W/MainActivity﹕ ==============onCreate()
2.com.example.kuguan.anlearning W/FirstFragment﹕ onAttach...
3.com.example.kuguan.anlearning W/FirstFragment﹕ onCreate...
4.com.example.kuguan.anlearning W/FirstFragment﹕ onCreateView...
5.com.example.kuguan.anlearning W/FirstFragment﹕ onActivityCreated...
6.com.example.kuguan.anlearning W/MainActivity﹕ ==============onStart()
7.com.example.kuguan.anlearning W/FirstFragment﹕ onStart...
8.com.example.kuguan.anlearning W/MainActivity﹕ ==============onResume()
9.com.example.kuguan.anlearning W/FirstFragment﹕ onResume...
2、点击MainActivity中的按钮“打开第二个Activity”以后:
1.com.example.kuguan.anlearning W/MainActivity﹕ ----------------mButton onClick-----------------
2.com.example.kuguan.anlearning W/FirstFragment﹕ onPause...
3.com.example.kuguan.anlearning W/MainActivity﹕ ==============onPause()
4.com.example.kuguan.anlearning W/SecondFragment﹕ onAttach...
5.com.example.kuguan.anlearning W/SecondFragment﹕ onCreate...
6.com.example.kuguan.anlearning W/SecondFragment﹕ onCreateView...
7.com.example.kuguan.anlearning W/SecondFragment﹕ onActivityCreated...
8.com.example.kuguan.anlearning W/SecondActivity﹕ ==============onStart()
9.com.example.kuguan.anlearning W/SecondFragment﹕ onStart...
10.com.example.kuguan.anlearning W/SecondActivity﹕ ==============onResume()
11.com.example.kuguan.anlearning W/SecondFragment﹕ onResume...
12.com.example.kuguan.anlearning W/FirstFragment﹕ onStop...
13.com.example.kuguan.anlearning W/MainActivity﹕ ==============onStop()
3、点击SecondActivity的按钮“finish”之后:
1.com.example.kuguan.anlearning W/SecondActivity﹕ -----------------mButton onClick------------------
2.com.example.kuguan.anlearning W/SecondFragment﹕ onPause...
3.com.example.kuguan.anlearning W/SecondActivity﹕ ==============onPause()
4.com.example.kuguan.anlearning W/MainActivity﹕ ==============onRestart()
5.com.example.kuguan.anlearning W/MainActivity﹕ ==============onStart()
6.com.example.kuguan.anlearning W/FirstFragment﹕ onStart...
7.com.example.kuguan.anlearning W/MainActivity﹕ ==============onResume()
8.com.example.kuguan.anlearning W/FirstFragment﹕ onResume...
9.com.example.kuguan.anlearning W/SecondFragment﹕ onStop...
10.com.example.kuguan.anlearning W/SecondActivity﹕ ==============onStop()
11.com.example.kuguan.anlearning W/SecondFragment﹕ onDestroyView...
12.com.example.kuguan.anlearning W/SecondFragment﹕ onDestroy...
13.com.example.kuguan.anlearning W/SecondFragment﹕ onDetach...
14.com.example.kuguan.anlearning W/SecondActivity﹕ ==============onDestroy()
4、点击back键使MainActivity退到后台:
1.com.example.kuguan.anlearning W/FirstFragment﹕ onPause...
2.com.example.kuguan.anlearning W/MainActivity﹕ ==============onPause()
3.com.example.kuguan.anlearning W/FirstFragment﹕ onStop...
4.com.example.kuguan.anlearning W/MainActivity﹕ ==============onStop()
5.com.example.kuguan.anlearning W/FirstFragment﹕ onDestroyView...
6.com.example.kuguan.anlearning W/FirstFragment﹕ onDestroy...
7.com.example.kuguan.anlearning W/FirstFragment﹕ onDetach...
8.com.example.kuguan.anlearning W/MainActivity﹕ ==============onDestroy()
5、在MianActivity显示的时候,按HOME键:
1.com.example.kuguan.anlearning W/FirstFragment﹕ onPause...
2.com.example.kuguan.anlearning W/MainActivity﹕ ==============onPause()
3.com.example.kuguan.anlearning W/FirstFragment﹕ onStop...
4.com.example.kuguan.anlearning W/MainActivity﹕ ==============onStop()
6、然后再点击Icon打开:
1.com.example.kuguan.anlearning W/MainActivity﹕ ==============onRestart()
2.com.example.kuguan.anlearning W/MainActivity﹕ ==============onStart()
3.com.example.kuguan.anlearning W/FirstFragment﹕ onStart...
4.com.example.kuguan.anlearning W/MainActivity﹕ ==============onResume()
5.com.example.kuguan.anlearning W/FirstFragment﹕ onResume...