我在我的应用程序中使用ActionBarSherlock Tabs with Fragments:
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>
如果删除子菜单,则会在单击物理按钮时显示选项菜单。
答案 0 :(得分:0)
(抱歉我的第一个答案不合时宜)
我不认为<menu>
XML元素接受android:id作为属性。你试过删除吗?
另一次尝试:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true; // override the useless returned value by super()
}
答案 1 :(得分:0)
试试这段代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.options_menu, menu);
return true;
}
希望这会对你有所帮助。