新しいToolbar
をappcompatサポートライブラリで使用すると、有効なオプションメニューを設定しない限り、以前と同じようにホームボタンが動作しないようです。シンプルかつ湿原標準アクティビティ:onCreateOptionsMenu()
に設定されたメニューがある場合はオプションメニューがない場合、ツールバーのホームボタンが機能しない
public class MyActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.some_page);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar bar = getSupportActionBar();
bar.setHomeButtonEnabled(true);
bar.setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// getMenuInflater().inflate(R.menu.some_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed() or finish() or whatever();
break;
}
return super.onOptionsItemSelected(item);
}
}
は、onOptionsItemSelected()
はandroid.R.id.home
で、すべての権利を呼ばれると、すべての罰金です。ただし、onCreateOptionsMenu()
がまったく存在しない場合(または空の場合、true
を返すか、super
関数を呼び出す)、onOptionsItemSelected()
はまったく呼び出されないため、[ホーム]ボタンのクリックをキャッチする機会はありません。私もonCreateOptionsMenu()
に空のメニューを渡そうとしましたが、助けにはなりませんでした。
機能オプションメニューが不要なページに[ホーム]ボタンが表示されるようにする回避策がありますか?
私は今、これを見つけた私はJBが、KKに*ない*だから、それは最初に私の注意を滑っ: http://stackoverflow.com/questions/26859841/homeasup-button-has-no-effect-in-android-4-2-2-with-appcompat-21-0-0?rq=1 –