8 android android-lifecycle android-fragments fragment-lifecycle
我有一个生命周期识别片段和一个LifecycleObserver类
public class MyFragment extends Fragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new MyObserver(this);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.activity_main, container, false);
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我的Observer类,它记录了所有片段事件
public class MyObserver implements LifecycleObserver {
private static final String TAG = "MyObserver";
public MyObserver(LifecycleOwner lifecycleOwner) {
lifecycleOwner.getLifecycle().addObserver(this);
}
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
public void onCreate(){
Log.d(TAG, "onCreate: ");
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
public void onPause(){
Log.d(TAG, "onPause: ");
}
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
public void onDestroy(){
Log.d(TAG, "onDestroy: ");
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onStart(){
Log.d(TAG, "onStart: ");
}
}
Run Code Online (Sandbox Code Playgroud)
我想听一下片段特定的生命周期事件onDestroyView, onActivityCreated但是这些事件并不存在
Lifecycle.Event.它仅包含活动事件.我如何在观察者中监听片段事件
Bas*_*din 10
您可以观察片段的viewLifecycleOwner生命周期。
viewLifecycleOwner.lifecycle.addObserver(yourObserverHere)
Run Code Online (Sandbox Code Playgroud)
然后将片段的onDestroyView生命周期方法绑定到带@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)注释的方法。
请注意,片段viewLifecycleOwner仅在onCreateView和onDestroyView生命周期方法之间可用。
Vir*_*ker -6
onCreateView()
Run Code Online (Sandbox Code Playgroud)
调用以创建与片段关联的视图层次结构。
onDestroyView()
Run Code Online (Sandbox Code Playgroud)
当与片段关联的视图层次结构被删除时调用。
| 归档时间: |
|
| 查看次数: |
3113 次 |
| 最近记录: |