2016-01-21 2 views
1

Я получил это исключение в своем приложении за один раз, теперь я не понимаю, что это такое и не может его воссоздать.Fragment IllegalStateException

Может ли кто-нибудь помочь мне в этом. Заранее спасибо

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) 
+0

Это хорошо известная проблема. См. [1]: http://stackoverflow.com/questions/7575921/illegalstateexception-can-not-perform-this-action-after-onsaveinstancestate-wit – endasan

+0

Я прочитал эту ссылку, ее не помогло. – hArsh

+0

У Google есть ошибка: https://code.google.com/p/android/issues/detail?id=183771 – 0x8BADF00D

ответ

0

View.performClick был обработан после onSaveInstanceState. Кажется, вы закончили свою деятельность нажатием. Мы можем воспроизвести сбой, если вы быстро кликнете дважды в режиме просмотра.

+0

Я пробовал несколько раз, как вы сказали, но я все еще не могу воспроизвести его .... .если, если это проблема, вы можете сказать мне, как ее исправить. – hArsh

+0

В вашем случае вы можете просто удалить OnClickListener во время первой обработки: '' 'public void onClick (View v) {v.setOnClickListener (null); ...} '' ' – FeelGood

0

Похоже, что вы пытаетесь совершить fragmentTransaction т.е. Replace Fragment или Remove Fragment в одном из onCreate(), onResume или onStart методов Activity который вызывает illlegaStateException

+0

Я просто вызываю' onBackPressed() '. На самом деле у меня есть «Фрагмент» для показа изображения, которое отображается только при двойном щелчке по изображению. И я также переопределил 'onBackPressed()' of Activity', чтобы удалить этот фрагмент, если 'attach()' и если не вызывает 'super.onBackPressed()' Итак, я не думаю, что позвоню «segmentTransaction» в любом из этих – hArsh

+0

Возможно, это проблема, заключающаяся в том, что вы «совершаете транзакцию фрагмента» при изменении состояния активности. Поэтому попробуйте удалить фрагмент в другой функции в соответствии с вашим требованием. –

0

Это происходит, когда onBackPressed() вызывается после того, как onSaveInstanceState() т.е. когда мобильная связь заблокирована, а затем onBackPressed() вызывается в фоновом режиме, один взломанный overable onSaveInstance() и в этом добавляет onBackPressed() в этом методе, и он отлично работает для меня.

Смежные вопросы