处理程序中的关闭片段
Close fragment in hanlder
我想创建自己的 snackbar
扩展 Fragment
class。但我不确定在几秒钟后关闭 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);
}
如果您的片段不再附加,getActivity 可以 return null。
确保检查当前片段是否已添加且未分离
isAdded() && !isDetached()
我想创建自己的 snackbar
扩展 Fragment
class。但我不确定在几秒钟后关闭 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);
}
如果您的片段不再附加,getActivity 可以 return null。
确保检查当前片段是否已添加且未分离
isAdded() && !isDetached()