目录
一、启动fragment1时,fragment1和activity的生命周期状态。
二、 按home时,两者(fragment1和activity)生命周期的状态。
三、 按back时,两者(fragment1和activity)的状态。
四、 从fragment1 跳转到fragment2时, fragment1的生命周期状态是什么?
问题描述
①启动fragment1时,fragment1和activity的生命周期状态。
②按home时,两者(fragment1和activity)生命周期的状态。
③按back时,两者(fragment1和activity)的状态。
④从fragment1 跳转到fragment2时, fragment1的生命周期状态是什么?
⑤从fragment2返回fragment1时,是什么?
附:按crtl+O可以快速搜索on函数
问题分析
一、启动fragment1时,fragment1和activity的生命周期状态。
打开界面:onCreate()-->onCreateView()-->onViewCreated()-->onStart()-->onResume()
验证如下:
二、 按home时,两者(fragment1和activity)生命周期的状态。
按主屏键:onPause()-->onStop()
验证如下:
三、 按back时,两者(fragment1和activity)的状态。
onPause-->onStop-->onDestroyView()-->onDestroy()-->onDetach()
四、 从fragment1 跳转到fragment2时, fragment1的生命周期状态是什么?
五、从fragment2返回fragment1时,是什么?
代码
附:所以代码均在DynamicFragment项目中。
MainActivity.java
package com.example.dynamicfragment;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
RadioGroup rg;
RadioButton b1,b2,b3,b4;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("TAG","Activity:onCreate");
setContentView(R.layout.activity_main);
rg=findViewById(R.id.rg1);
b1=findViewById(R.id.rb1);
b2=findViewById(R.id.rb2);
b3=findViewById(R.id.rb3);
b4