android – 当应用程序恢复时,Dismissed对话框片段再次出现

嗨,我正在开发一个使用地图的应用程序.

我正在使用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(对话框)来解决.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...