我有一个自定义对话框,而不是使用optionMenu。所以我希望myDialog表现得像菜单,即在菜单按下显示/隐藏。我尝试了很多变种,但结果相同:
我为myDialog设置了一个OnKeyListener
myDialog.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(DialogInterface arg0, int arg1, KeyEvent arg2) {
if (arg1 == KeyEvent.KEYCODE_MENU) {
myActivity.this.removeDialog(ID);
return true;
}
return false;
}
因此,每次按Menu按钮创建对话框时,它都会立即被该监听器隐藏。
是否有任何想法让我的对话框与菜单按钮一起使用?
答案 0 :(得分:1)
在我的活动中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
LayoutInflater li = LayoutInflater.from(this);
switch (item.getItemId()) {
case R.id.help:
// ... etc, etc.
}
/res/menu/menu.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/help"
android:title="Help" />
<item android:id="@+id/about"
android:title="About" />
<item android:id="@+id/prefs"
android:title="Preferences" />
</menu>