【发布时间】:2017-11-03 09:00:10
【问题描述】:
我有一个生命周期感知片段和一个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);
}
}
以下是我的观察者类,它记录所有片段事件的属性
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: ");
}
}
我想收听片段特定的生命周期事件,例如 onDestroyView 和 onActivityCreated,但这些事件不存在
Lifecycle.Event。它仅包含活动事件。如何在观察者中监听片段事件
【问题讨论】:
-
你能找到任何关于这个的吗?
-
我也在试图解决这个问题。你找到解决办法了吗?
-
有什么方法可以使用生命周期观察器来实现这一点?下面的答案可以在没有生命周期观察者的情况下通过编写我们自己的自定义方法并从片段中调用来实现。
标签: android android-fragments android-lifecycle fragment-lifecycle