Android Custom Dialog показать / скрыть при нажатии Меню - PullRequest
2 голосов
/ 16 марта 2011

У меня есть собственный диалог, и я использую его вместо optionMenu.Поэтому я хочу, чтобы myDialog вел себя как меню, то есть показывал / скрывал при нажатии на Меню.Я пробовал много вариантов, но у меня был один и тот же результат:

, так как я установил 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;
        }

, поэтому каждый раз, когда диалог создается нажатием Меню, он сразу же скрывается этимСлушатель.

Есть какие-нибудь идеи, чтобы мой диалог работал с кнопкой Меню?

1 Ответ

1 голос
/ 16 марта 2011

В моей деятельности:

@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.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>
...