Android的碎片 - 应用程序崩溃关闭应用程序后, [英] Android Fragment - Application Crashed after Closing Application

查看:853
本文介绍了Android的碎片 - 应用程序崩溃关闭应用程序后,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序正在使用片段谷歌地图。我用这code添加片段秒。

In my application I am using google map in fragment. I am using this code for adding fragments.

 public void addPage(final BaseFragment pBaseFragment, final boolean isAddToBackStack){
            FragmentTransaction transaction = mFragmentManager.beginTransaction();
            transaction.add(R.id.content_frame, pBaseFragment);
            if (isAddToBackStack) transaction.addToBackStack(null);
            transaction.commit();  
    }

MyMapFragment 我把这个去除图(如果我不这样做我得到了地图例外ID重复做)

In MyMapFragment I call this for removing map (If I don't do this I got duplicate id for map exception)

   public void onDestroyView() {
        super.onDestroyView();
        Fragment fragment = (getFragmentManager().findFragmentById(R.id.map_n));
        FragmentTransaction ft = mActivity.getSupportFragmentManager().beginTransaction();
        ft.remove(fragment);
        ft.commit();
    }

但是当我preSS后退按钮和关闭应用程序我得到这个错误。 (在该行ft.commit())

but when I press back button and application is closed I got this error. (in the line ft.commit())

 Caused by: java.lang.IllegalStateException: Activity has been destroyed
            at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1365)
            at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
            at android.support.v4.app.BackStackRecord.commitAllowingStateLoss(BackStackRecord.java:578)

谁能告诉我什么是这里的解决方案是如何避免这个错误我已经被困在这3天。

Could anyone tell me what is the solution here how avoid this error I've already stuck on this 3 days.

推荐答案

试试这个方法:

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

这篇关于Android的碎片 - 应用程序崩溃关闭应用程序后,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆