我想创建自己的snackbar
扩展Fragment
类。但我不确定在几秒钟之后关闭fragment
。因为我使用hanlder
来关闭这样的片段:
private Runnable run = new Runnable() {
@Override
public void run() {
Fragment frag = getActivity().getSupportFragmentManager().findFragmentByTag(TAG);
if(frag != null) {
getActivity().getSupportFragmentManager().popBackStackImmediate(TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
}
};
我知道扩展库但我需要自定义snackbars
。
有时我收到了:
> android.support.v4.app.FragmentActivity.getSupportFragmentManager()'
> on a null object reference
[编辑:]
我调用了 onPause()
方法:
@Override
public void onPause() {
super.onPause();
handler.removeCallbacksAndMessages(null);
}
答案 0 :(得分:1)
如果您的片段不再附加,则getActivity可以返回null。
确保使用
检查当前片段是否已添加且未分离 isAdded() && !isDetached()