Android片段事务监听器

时间:2016-10-11 10:43:57

标签: android android-fragments fragmenttransaction

我需要在执行片段事务时监听,例如,当我用另一个片段替换片段时,不需要调用addToBackStack()。 FragmentManager类提供了addOnBackStackChangedListener回调,但是当我执行片段替换而不调用addToBackStack时,它不会被执行。

编辑:侦听操作在只能访问活动实例及其片段管理器的类中执行。

2 个答案:

答案 0 :(得分:1)

您可以为所有片段使用Base类。然后你可以覆盖onDetach()方法。例如

public class BaseFragment extends Fragment {

@Override
public void onDetach() {
   // run code that needed by your library. e.g.
    if (getActivity() != null && getActivity() instanceof MainActivity) {
    ((MainActivity)getActivity()).someMethodToDetectOnDetach();
    }
    super.onDetach();
}

然后像这样扩展你的片段来自BaseFragment

public class MyFragment extends BaseFragment {
// .....
}

答案 1 :(得分:0)

您可以使用Fragment的onAttach()方法。

相关问题