我正在显示一个 DialogFragment,当用户返回后台然后返回到应用程序时,会显示对话框。
有没有办法在后台返回时不显示?
我试过了(编辑:按照一些建议将其从 onStop 移至 onPause):
@Override
public void onPause() {
if (dialogFragment.isVisible()) {
dialogFragment.dismissAllowingStateLoss();
}
super.onPause();
}
但是得到了这个:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.FragmentTransaction android.support.v4.app.FragmentManager.beginTransaction()' on a null object reference
有什么想法吗?
最佳答案
您可以尝试使用 dismissAllowingStateLoss()
dialogFragment.dismissAllowingStateLoss();
代替:
dialogFragment.dismiss();
但是这应该是必需的,因为您在 onStop()
中将其关闭。您应该尝试在 onPause()
中关闭它。
关于android - 从后台返回后尝试打开的 DialogFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31408240/