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);
}