因为在寻呼机的滑动选项卡中,所有与一起加载的片段,我需要使用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
}
}