2017-09-26 1 views
0

내 Zxing 스캐너 용 카메라 화면을 열고 해당 템플릿을 사용합니다. 내 사용자 지정 템플릿에서 나는 최대 SetDisplayHomeAsUpEnabled(true) 설정하지만 난 그것을 클릭 할 때, 나는이 오류가 여기에 Java.Lang.IllegalStateException: Can not perform this action after onSaveInstanceStateXamarin onSavedInstanceState 후이 작업을 수행 할 수 없습니다.

을 얻고 나의 클릭 이벤트입니다했다 :

private void Toolbar_NavigationClick(object sender, Android.Support.V7.Widget.Toolbar.NavigationClickEventArgs e) 
    { 
     var mainActivity = Activity as MainActivity; 
     mainActivity?.OnBackPressed(); 
    } 

내 오류의 전체 스택 추적 :

[ERROR] FATAL UNHANDLED EXCEPTION: Java.Lang.IllegalStateException: Can not perform this action after onSaveInstanceState 
--- End of managed Java.Lang.IllegalStateException stack trace --- 
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1842) 
at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:775) 
at android.support.v7.widget.Toolbar_NavigationOnClickEventDispatcher.n_onClick(Native Method) 
at android.support.v7.widget.Toolbar_NavigationOnClickEventDispatcher.onClick(Toolbar_NavigationOnClickEventDispatcher.java:37) 
at android.view.View.performClick(View.java:5698) 
at android.view.View$PerformClick.run(View.java:22523) 
at android.os.Handler.handleCallback(Handler.java:739) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:158) 
at android.app.ActivityThread.main(ActivityThread.java:7230) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 

기기의 뒤로 버튼이 완벽하게 작동하지만 왜이 오류가 onBackPressed()에 발생하는지 알 수 없습니다.

답변

0

귀하의 활동에서이 방법을 재정의 했습니까?

public override bool OnOptionsItemSelected(IMenuItem item) 
    { 
     switch (item.ItemId) 
     { 
      case Android.Resource.Id.Home: 
       Finish(); 
       return true; 
      default: 
       return base.OnOptionsItemSelected(item); 
     } 

    } 
관련 문제