STACK_TRACE=java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

来源:互联网 发布:windows优化大师 7.2 编辑:程序博客网 时间:2024/06/16 02:26

崩溃信息如下:

STACK_TRACE=java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

     at android.support.v4.app.p.g(FragmentManager.java:1538)
     at android.support.v4.app.p.z(FragmentManager.java:1556)
     at android.support.v4.app.BackStackRecord.z(BackStackRecord.java:696)
     at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:662)

     at ....

原因是activity被销毁回收后,还在执行一些UI操作,如fragment替换,dialog显示等。

我遇到的是fragment替换

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();ft.replace(R.id.search_result, mSearchFragment);ft.commit();

解决方法:

if (isFinishing()) {     return;}...FragmentTransaction ft = getSupportFragmentManager().beginTransaction();ft.replace(R.id.search_result, mSearchFragment);ft.commitAllowingStateLoss();




阅读全文
0 0
原创粉丝点击