因为在寻呼机的滑动选项卡中,所有与一起加载的片段,我需要使用setUserVisibleHint()来删除选定的片段。
我对setUserVisibleHint()方法中的上下文有问题:
当我使用NPE Exception作为上下文时,它升高了getActivity。谢谢

最佳答案

因为getActivity将在片段附加到活动之前返回null,所以您需要检查此值是否为null,或者检查附加到活动的片段,或者检查onActivityActtached函数之后的片段。

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (getActivity() != null) {
       //do something
    }
}

//or
 boolean isAttached = false;
 @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        isAttached = true;
    }

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isAttached) {
       //do something
    }
}

10-07 22:22