Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android FragmentTransaction commit()-活动已被销毁_Android_Android Activity_Fragmenttransaction - Fatal编程技术网

Android FragmentTransaction commit()-活动已被销毁

Android FragmentTransaction commit()-活动已被销毁,android,android-activity,fragmenttransaction,Android,Android Activity,Fragmenttransaction,重新启动应用程序时,我遇到返回null的getActivity()问题,所以我用onAttach()解决了这个问题。但是,现在我遇到了一个新问题,即碎片事务提交()和提交lowingstateloss。它说活动已经被破坏 Activity mActivity; private FragmentActivity myContext; @Override public void onAttach(Activity activity) { super.o

重新启动应用程序时,我遇到返回
null
getActivity()
问题,所以我用
onAttach()
解决了这个问题。但是,现在我遇到了一个新问题,即
碎片事务
提交()
提交lowingstateloss
。它说活动已经被破坏

    Activity mActivity;
    private FragmentActivity myContext;
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        myContext =(FragmentActivity) activity;
        mActivity = activity;
    }

    private void navigateToFragment(Fragment fragment){
        FragmentTransaction transaction = myContext.getSupportFragmentManager().beginTransaction();
        transaction.replace(R.id.content, fragment);
        transaction.commitAllowingStateLoss();
    }
导航在我第一次运行应用程序时起作用,但当重新打开应用程序时,它会在事务处理时崩溃。commitAllowStateLoss()


请帮助,不知道该怎么办…

在处理片段之前检查
活动是否已完成(在本例中)
以下是片段:-

if (!isFinishing()) {
  FragmentTransaction transaction = myContext.getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.content, fragment);
    transaction.commitAllowingStateLoss();
}
单击“后退”并退出应用程序时,一些进程将存储在内存中,以便更快地启动。因此,要使应用程序100%重置,我必须将此添加到MainActivity中

@Override
protected void onDestroy() {
    super.onDestroy();
    System.exit(0);
}

如果有人有更好的解决方案,请发布

我已经试过了,第二次打开应用程序时,isFinishing()是真的。我该怎么做才能成功!isFinishing()再次出现?为什么应用程序在使用“后退”按钮关闭应用程序时没有100%重置?关闭应用程序后运行应用程序时,在MainActivity中不会调用onCreate。。。要100%重置应用程序,我必须关闭进程(从左到主按钮)将其关闭。
@Override
protected void onDestroy() {
    super.onDestroy();
    System.exit(0);
}