嗨,我正在开发一个使用地图的应用程序.
我正在使用Fragment Activity和一个名为Fragment-A的片段.
在Fragment-A中有一个按钮,在单击该按钮时弹出一个Dialog Fragment,显示一个地图,其中包含先前从服务器接收的某个位置.
让我们说这个对话框片段是DialogFragment-B.
它有一个关闭按钮,一个导航到谷歌地图应用程序以获取方向的按钮.
如果用户导航到DialogFragment-B并返回到Fragment-A,通过单击关闭按钮,每个东西都能正常工作.
但是如果用户点击后退按钮,现有的对话框片段将正常关闭,应用程序正常运行.
但是,如果用户然后按下主页按钮或接到电话呼叫,并且即使DialogFragment-B先前被解除,也会调用onResume,它会重新出现并按下close会使应用程序出现空指针异常
这是我打开DialogFragment-B的代码.
FragmentManager fm = getFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); android.app.Fragment prev = fm.findFragmentByTag(MY_MAP); if (prev != null) { ft.remove(prev); } MyMapFragmentDialog newFragment = MyMapFragmentDialog .newInstance(eachPost); newFragment.show(ft,MY_MAP);
在DialogFragment-B中点击关闭按钮,我调用MyMapFragmentDialog.this.dismiss();
如果有人遇到过这个问题并且克服了,请指导我.
解决方法
我有同样的问题,它通过确保我在DialogFragment子类的onDismiss方法中调用super.onDismiss(对话框)来解决.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。