嗨,我正在开发一个使用地图的应用程序.
我正在使用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();
如果有人遇到过这个问题并且克服了,请指导我.