1

ActionBar アクティビティがあります。このアクティビティでは、Android API から Navigation Drawer を実装しました。

ナビゲーション ドロワーの 1 つのオプションは、リスト内にいくつかの要素を含む ListFragment を設定します。

いくつかの要素をクリックすると、新しいフラグメントを作成し、以前の ListFragment をスタックに設定します。また、前の ListFragment に戻るために、ActionBar のホーム ボタンをクリックして、この新しいフラグメントを破棄したいと考えています。

私の問題はここにあります:アクションバーのホームボタンをクリックすると、フラグメントを破棄する代わりに引き出しレイアウトが表示されます...どうすればよいですか?

フラグメントで onOptionsItemSelected メソッドをオーバーライドしました:

@Override
    public boolean onOptionsItemSelected(MenuItem menuItem) {
        switch (menuItem.getItemId()) {
            case android.R.id.home:
                getFragmentManager()
                        .popBackStack();
        }
        return (super.onOptionsItemSelected(menuItem));

    }

また、新しいフラグメントをインフレートするときに ListFragment をバックスタックに設定しました。

getFragmentManager()
                .beginTransaction()
                .setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right)
                .replace(R.id.activity_main_fragment_container, fragment)
                .addToBackStack(null)
                .commit();
4

0 に答える 0