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

前端之家收集整理的这篇文章主要介绍了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相关文章