オリジナルの ActionBar から AppCompat Toolbar に変更し、setSupportActionBar(toolbar) を使用しました。戻る矢印に getSupportActionBar() と setDisplayHomeAsUpEnabled(true) を使用すると、クリックしても onOptionsItemSelected やその他のリスナー メソッドが呼び出されません。
そのために特別なリスナーを実装する必要がありますか? これまではすべて正常に動作していました。
編集: ActionBar を初期化します:
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
mActionBar = getSupportActionBar();
mActionBar.setHomeButtonEnabled(true);
コンテンツをフラグメントに置き換えた後、次の操作を実行します。
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
mDrawerToggle.setDrawerIndicatorEnabled(false);
mActionBar.setDisplayHomeAsUpEnabled(true);
ベストアンサー1
この質問はすでに回答済みだとは思いますが、2日間の苦労の末、問題の本当の原因を見つけました。
ActionBarDrawerToggle のドキュメントをご覧ください:https://developer.android.com/reference/android/support/v7/app/ActionBarDrawerToggle.html
2 つのコンストラクタに注目してください。私の間違いは、ツールバーをパラメータとして受け取る 2 番目のコンストラクタを使用していたことです。コンストラクタのドキュメントの最後の行に気づくまでにかなり時間がかかりました。"ツールバーをアクティビティのアクションバーとして設定する場合は、ActionBarDrawerToggle(Activity, DrawerLayout, int, int) を使用してください。。「
最初のコンストラクターを使用した後、onOptionsItemSelected() が問題なく呼び出されました。
忘れずに電話してくださいActionBarDrawerToggle.onConfigurationChanged()そしてオプション項目が選択されたとき()最後の部分で説明したあなたの活動から:http://developer.android.com/training/implementing-navigation/nav-drawer.html