3

私はMaterialDrawerマイク・ペンツのを使用していますが、問題に直面しました。私は3 つの FragmntsActivity (AppCompat)を持っています。すべてを含む。2と 3 で、戻るを有効にしますActivityfragmentsfragmentbuttonOnCreate

((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

そしてActivity

@Override
    public void onBackPressed() {
        if (drawer.isDrawerOpen())
            drawer.closeDrawer();
        if (getFragmentManager().getBackStackEntryCount() == 1) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(false);
            drawer.getActionBarDrawerToggle().syncState();
            getFragmentManager().popBackStack();
        } else if (getFragmentManager().getBackStackEntryCount() > 0)
            getFragmentManager().popBackStack();
        else
            super.onBackPressed();
    }

リードのfragment2 と 3clickがアクティブなときに、ボタンを押して2 と 3のコールを無効にするにはどうすればよいですか?Back ButtonDrawerDrawerfragmentBack

Drawerでテーマを持っていた標準を使用した場合ActionBar、そのような問題はありません。

UPDツールバーのトグルバックボタンをクリックする必要がありますが、スマートフォンの物理ボタンはありません

4

1 に答える 1

1

変化する

 if (drawer.isDrawerOpen())
     drawer.closeDrawer();
 if (getFragmentManager().getBackStackEntryCount() == 1) {
     getSupportActionBar().setDisplayHomeAsUpEnabled(false);
     drawer.getActionBarDrawerToggle().syncState();
     getFragmentManager().popBackStack();
 }

 if (drawer.isDrawerOpen())
     drawer.closeDrawer();
 else if (getFragmentManager().getBackStackEntryCount() == 1) {
     getSupportActionBar().setDisplayHomeAsUpEnabled(false);
     drawer.getActionBarDrawerToggle().syncState();
     getFragmentManager().popBackStack();
 }

準備できた

于 2016-05-07T12:00:59.937 に答える