6

この人は基本的に私が抱えているのと同じ問題に遭遇していますが、提供された解決策は役に立たず、コードが実際に mDrawerToggle.sycnState() (遅延実行可能ファイルで) を呼び出しているため、私にとってはうまくいきません。

また、フラグメントの onActivityCreated に追加しようとしましたが、何もしないようです。syncState が何をするのか正確にはわからないので、開いている状態を同期しているかどうかはわかりません (テンプレート コードがデフォルトで発生させます)。

コードを投稿したいと思いますが、これをテストするには、Android Studio (1.2.2) で新しいプロジェクトを作成し、Navigation Drawer アクティビティを選択して、プロジェクトを実行するだけです。変更は必要ありません。アイコンは <- 矢印だけです。ブレークポイントを設定して、ActionBarDrawerToggle オブジェクトを検査することもしました。実際には、アイコンを描画するためのメモリにハンバーガー アイコンがあり、さらに戸惑いました。

私はここで頭がいっぱいです。

4

1 に答える 1

20

他の誰かがこの問題を抱えている場合に備えて、解決策を見つけました。

フラグメントの上部にあるインポートを次のように変更します

import android.support.v4.app.ActionBarDrawerToggle;

import android.support.v7.app.ActionBarDrawerToggle;

次に、setUp のコードを

mDrawerToggle = new ActionBarDrawerToggle(
            getActivity(),                    /* host Activity */
            mDrawerLayout,                    /* DrawerLayout object */
            R.drawable.ic_drawer,             /* nav drawer image to replace 'Up' caret */
            R.string.navigation_drawer_open,  /* "open drawer" description for accessibility */
            R.string.navigation_drawer_close  /* "close drawer" description for accessibility */
    )

mDrawerToggle = new ActionBarDrawerToggle(
            getActivity(),                    /* host Activity */
            mDrawerLayout,                    /* DrawerLayout object */
            R.string.navigation_drawer_open,  /* "open drawer" description for accessibility */
            R.string.navigation_drawer_close  /* "close drawer" description for accessibility */
    )
于 2015-06-12T17:03:37.933 に答える