2017-01-18 11 views
0

私はinfamous Can not perform this action after onSaveInstanceStateの問題に遭遇しましたが、それを修正する方法がわかりません。Logging in ViewPager - onSaveInstanceStateの後にこのアクションを実行できません

現在、私はonNavigationItemSelectedメニューからアプリケーションからログアウトすることで問題を引き起こす可能性があります。

@SuppressWarnings("StatementWithEmptyBody") 
    @Override 
    public boolean onNavigationItemSelected(MenuItem item) { 
    FirebaseAuth.getInstance().signOut(); 
    goToLogin(); 

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    drawer.closeDrawer(GravityCompat.START); 
    return true; 
    } 

    private void goToLogin() { 
    Intent x = new Intent(MainActivity.this, LoginActivity.class); 
    startActivity(x); 
    finish(); 
    } 

私は戻ってアプリケーションに

Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
startActivityForResult(intent, REQUEST_SIGNUP); 
finish(); 

をログインしたときそれから私は私が

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1832) 
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1850) 
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:643) 
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:603) 
at com.example.jack.mhealth.MainActivity.onRecordingSelected(MainActivity.java:295) 

onSaveInstanceStateエラーが発生するリサイクルビュー項目

CompletedViewPagerFragment completedViewPagerFragment = new CompletedViewPagerFragment(); 
Bundle bundle = new Bundle(); 
bundle.putInt(CompletedViewPagerFragment.KEY_COMPLETED_SELECTED, index); 
completedViewPagerFragment.setArguments(bundle); 

FragmentManager fragmentManager = getSupportFragmentManager(); 
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
fragmentTransaction.replace(R.id.placeholder, completedViewPagerFragment, VIEWPAGER_FRAGMENT); 
fragmentTransaction.addToBackStack(null); 
fragmentTransaction.commit(); 

をクリックしようとしますが〜で.commitAllowingStateLossを(使用するように誘惑)それは私にエラー

java.lang.IllegalStateException: Activity has been destroyed 
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1854) 
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:643) 
at android.support.v4.app.BackStackRecord.commitAllowingStateLoss(BackStackRecord.java:608) 
at com.example.jack.mhealth.MainActivity.onRecordingSelected(MainActivity.java:294) 

を破壊してきた活動を提供しますが、私は本当にログアウトし、MainActivityは、再度ログインしていることを引き起こしする仕上げの間で間違っているもので迷ってしまいましたViewPagerを中断する。

アプリが新鮮なときは、ログイン画面にまっすぐ進み、MainActivity:75からログインします。ログイン時には期待どおりに機能します。ビューポケットベルを何とかリセットする必要がありますか?

答えて

0

私は間違いを見つけたのでこの質問を削除しようとしていましたが、他の誰かがこの問題に遭遇したときにソリューションを投稿すると思っていました。

私のミスが

(私はシングルトンクラスを使用していた理由を正確に覚えていないことができますが、それはエラーの原因となったものだった。)私は、ビューページャアダプタ

を保持するシングルトンクラスを使用していたました

関連する問題