如何在片段类中的谷歌地图上使用onPause()?

时间:2016-05-24 04:52:46

标签: android google-maps android-fragments onpause

我在片段中有一个谷歌地图。如果我在使用片段时去应用程序外部,在我返回时我无法看到地图。但是,如果我通常从一个片段移动到另一个片段,则没有问题。我正在使用导航抽屉,所以我必须使用片段                                                                    任何解决方案将不胜感激。谢谢。

以下是与onPause()相关的片段的一部分。我想我在代码中犯了一些错误,请向我指出。

 @Override
public void onPause() {
     super.onPause();
    final FragmentManager fragManager = this.getFragmentManager();
    final Fragment fragment = fragManager.findFragmentById(R.id.map1);
    if(fragment!=null){
        fragManager.beginTransaction().remove(fragment).commit();



    }
}
@Override
public void onDestroy() {
    super.onDestroy();
    final FragmentManager fragManager = this.getFragmentManager();
    final Fragment fragment = fragManager.findFragmentById(R.id.map1);
    if(fragment!=null){
        fragManager.beginTransaction().remove(fragment).commit();
    }

}

2 个答案:

答案 0 :(得分:0)

您可以修复该异常。在显示地图的片段中,覆盖onDestroyView()。

{{1}}

我认为你需要从API 16开始。

希望这有帮助。

答案 1 :(得分:0)

最后我得到了解决方案。现在它正在运行,应用程序不再崩溃。

@Override
public void onDestroyView() {
    super.onDestroyView();  
    try{
          MapFragment fragment = ((MapFragment) getFragmentManager().findFragmentById(R.id.map));
          FragmentTransaction fragTran = getActivity().getFragmentManager().beginTransaction();
          ft.remove(fragment);
          ft.commit();
        }catch(Exception e){
        }
}