Прослушиватель меню Android - PullRequest
       12

Прослушиватель меню Android

2 голосов
/ 26 ноября 2011

Я новичок в разработке на Java и Android и пытаюсь использовать обработчики событий для меню.У меня не было проблем с настройкой меню в xml, но теперь я не понимаю, как использовать обработчики.

Я использую

onOptionsItemSelected(MenuItem item)

, и я знаю только, как создавать новые действия,Например:

startActivity(new Intent(this,About.class))

Я видел много уроков, но все они сосредоточены на кнопках, которые я попробовал и потерпел неудачу.Кроме того, я могу иметь методы в разных классах, чтобы лучше организовать свой код?Например, используйте method1.java, method2.java, method3.java, .... и создайте экземпляры этих классов для вызова методов.

Если это помогает, я пытаюсь использовать OpenGL и разрешитьпользователь может поворачивать, переводить, изменять размер и т. д. в зависимости от выбранной опции меню.

РЕДАКТИРОВАТЬ: я пытаюсь использовать состояния для моей программы и иметь возможность использовать только те обработчики, которые определены для даннойсостояния.

1 Ответ

3 голосов
/ 26 ноября 2011

В XML-файле меню каждый элемент имеет идентификатор, например ...

<item
  android:id="@+id/reset"
  android:title="@string/gla_menu_title_reset" />

В обработчике onOptionsItemSelected(MenuItem item) необходимо получить идентификатор передаваемого элемента, а затем обработатьЭто.Простой способ сделать это с помощью переключателя / регистра ...

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.reset:
            // Do something
            return true;
        case R.id.something_else:
            ...
            return true;
     }
}

И, да, вы можете создавать стандартные классы Java в Android.

...