アプリケーションでフラグメントを含む ActionBarSherlock タブを使用しています。
public class ExampleActivity extends SherlockFragmentActivity{}
アクションバーにオプションメニューを追加しました。問題は、アクション バーの仮想ボタンをクリックするとオプション メニューが表示されますが、物理ボタンを押しても表示されないことです。物理メニュー ボタンを押したときにオプション メニューが表示されるようにしたいと考えています。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//return super.onCreateOptionsMenu(menu);
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.menu_prefs:
Intent i = new Intent(this,ShowSettingsActivity.class);
startActivityForResult(i, requestCode);
return true;
case R.id.menu_faq:
startActivity(new Intent(this, AboutApp.class));
return true;
case R.id.menu_contact:
startActivity(new Intent(this, FeedbackApp.class));
return true;
default:
return super.onOptionsItemSelected(item);
}
}
そして res/menu/options_menu.xml で:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_settings"
android:title="@string/menu_settings"
android:icon="@drawable/ic_settings_dark"
android:orderInCategory="100"
android:showAsAction="always">
<menu
android:id="@+id/e">
<item
android:id="@+id/menu_prefs"
android:title="@string/menu_prefs"/>
<item
android:id="@+id/menu_faq"
android:title="@string/menu_faq"/>
<item
android:id="@+id/menu_contact"
android:title="@string/menu_contact"/>
</menu>
</item>
</menu>
サブメニューを削除すると、物理ボタンをクリックするとオプション メニューが表示されます。