1.fragement(碎片),可以在一个activity里放多个fragement,可以创建多个页面进行切换,必须在一个activity里面.创建一个fragement,你必须写个子类继承Fragment,并且必须实现下面一些方法.
onAttach()、onCreate()、onCreateView()、onActivityCreate()、
fragement生命周期
package com.example.fragment;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
public class MyFragement extends Fragment {
private static final String TAG="MyFragment";
//当Fragment被附加调用时,可以接受Activity的值
@Override
public void onAttach(@NonNull Context context) {
Log.i(TAG,"MyFragment--onAttach");
super.onAttach(context);
}
//进行本地变量的初始化,如果要进行一个UI的操作,必须要在当前的VIEW里面去操作,如果操作UI,要在onCreateView的方法中处理
//该方法只会被调用一次
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
Log.i(TAG,"MyFragment--onCreate");
super.onCreate(savedInstanceState);
}
//绘制UI显示给用户,可以使用线程更新UI
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Log.i(TAG,"MyFragment--onCreateView");
return super.onCreateView(inflater, container, savedInstanceState);
}
//当onCreate结束时,要调用的方法
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
Log.i(TAG,"MyFragment--onActivityCreated");
super.onActivityCreated(savedInstanceState);
}
//和Activity一样
@Override
public void onStart() {
Log.i(TAG,"MyFragment--onStart");
super.onStart();
}
@Override
public void onResume() {
Log.i(TAG,"MyFragment--onResume");
super.onResume();
}
@Override
public void onPause() {
Log.i(TAG,"MyFragment--onPause");
super.onPause();
}
@Override
public void onDestroyView() {
Log.i(TAG,"MyFragment--onDestroyView");
super.onDestroyView();
}
@Override
public void onStop() {
super.onStop();
}
//销毁UI
@Override
public void onDestroy() {
Log.i(TAG,"MyFragment--onDestroy");
super.onDestroy();
}
//脱离activity
@Override
public void onDetach() {
Log.i(TAG,"MyFragment--onDetach");
super.onDetach();
}
}