Android自定义对话框在菜单上显示/隐藏按

问题描述:

我有一个自定义对话框,用它代替optionMenu。所以我希望myDialog表现得像菜单一样,即在菜单上按下显示/隐藏。我试过很多变种,但有相同的结果:Android自定义对话框在菜单上显示/隐藏按

为我设置为OnKeyListener myDialog

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; 
     } 

因此利用菜单按创建的每次对话,它会立即通过侦听器隐藏。

是否有任何想法使我的对话框使用菜单按钮?

在我的活动:

@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> 
+0

以及这如何帮助? LayoutInflater li = LayoutInflater.from(this); 这是假设要做什么,只是一个毫无意义的初始化? – max4ever 2011-05-24 16:12:42