Android 片段非法状态异常
我曾经在我的应用程序中遇到过这个异常,现在我不明白这是什么,也无法重新创建它 有人能帮我吗。提前谢谢Android 片段非法状态异常,android,android-fragments,illegalstateexception,Android,Android Fragments,Illegalstateexception,我曾经在我的应用程序中遇到过这个异常,现在我不明白这是什么,也无法重新创建它 有人能帮我吗。提前谢谢 Fatal Exception: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1489) a
Fatal Exception: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1489)
at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:584)
at android.support.v4.app.FragmentActivity.onBackPressed(FragmentActivity.java:169)
at com.explorelife.UI.PropertyDetailsScreen.onBackPressed(PropertyDetailsScreen.java:310)
at com.explorelife.UI.PropertyDetailsScreen.onClick(PropertyDetailsScreen.java:716)
at android.view.View.performClick(View.java:4785)
at android.view.View$PerformClick.run(View.java:19884)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
查看。performClick
是在存储实例状态之后处理的。你似乎一按就完成了你的活动。如果您在View上快速单击两次,我们可以复制崩溃。查看。performClick
是在SaveInstanceState之后处理的。你似乎一按就完成了你的活动。如果您在视图上快速单击两次,我们可以复制崩溃。看起来您正在尝试提交碎片事务
,即替换碎片
,或删除其中一个onCreate()
,onResume
或onStart
活动的方法
导致了illegastateteException
看起来您正试图提交fragmentTransaction
,即替换片段
,或删除其中一个onCreate()
中的片段
,onResume
或onStart
方法的活动
会导致illegastateException
当onSaveInstanceState()之后调用onBackPressed()时,即当手机被锁定,然后在后台调用onBackPressed()时,会发生这种情况,一次黑客攻击在onSaveInstance()之上在这个方法中,add-onBackPressed()对我来说效果很好。在onSaveInstanceState()之后调用onBackPressed()时会发生这种情况,即当手机被锁定,然后在后台调用onBackPressed()时,在onSaveInstance()和该add-onBackPressed()上会发生一次黑客攻击这是一个众所周知的问题。参考[1]:我已经阅读了这个链接,它没有帮助。谷歌有它的错误:这是一个众所周知的问题。请参阅[1]:我已经阅读了这个链接,但没有帮助。谷歌对此有缺陷:正如你所说,我尝试了几次,但仍然无法复制它……如果这是问题所在,你能告诉我如何修复它吗?在你的情况下,你可以在第一次处理时删除OnClickListener:public void onClick(View v){v.setOnClickListener(null)59449。实际上,我有一个片段
用于显示图像,它仅在我双击图像时显示。我还重写了活动的onBackPressed()
,如果attached()
并且如果没有调用super.onBackPressed()
的话,我会删除这个片段,我不认为我在任何一种情况下调用了fragmentTransaction
。这可能是因为在活动状态更改时,您正在提交fragmentTransaction
。所以,根据您的要求,尝试删除其他函数中的片段。我只是调用onBackPressed()
。实际上,我有一个片段
用于显示图像,它仅在我双击图像时显示。我还重写了活动的onBackPressed()
,如果attached()
并且如果没有调用super.onBackPressed()
的话,我会删除这个片段,我不认为我在任何一种情况下调用了fragmentTransaction
。这可能是因为在活动状态更改时,您正在提交fragmentTransaction
。所以,根据您的需求,尝试删除其他函数中的片段。