Статическое меню настроек
Я хочу создать статическое меню опций для всех моих экранов активности. Я не хочу переопределять onCreateOptionsMenu()
в каждой деятельности.
поскольку Menu
Класс представляет собой интерфейс с огромным количеством методов, сложно создать статический объект класса реализации.
Любой другой способ сделать то же самое?
1 ответ
Если я правильно прочитал ваш вопрос, вы хотите одно и то же меню во всех ваших действиях. Я могу придумать два способа сделать это:
Создать подкласс
Activity
который реализуетonCreateOptionsMenu()
а такжеonOptionsItemSelected()
(и, возможно,onPrepareOptionsMenu
). Тогда есть все вашиActivity
классы расширяют этот подкласс.Создайте статический метод где-то под названием что-то вроде
populateOptionsMenu()
это занимаетMenu
(и, вероятно,Context
) в качестве аргументов. ВашActivity
классы могут затем назвать это из своихonCreateOptionsMenu()
методы для заполненияMenu
, Вам также понадобится соответствующийprocessItemSelected()
статический метод, когда элементы были нажаты.
Вариант 1 кажется лучшим, так как для вызова статических методов не потребуется использовать тот же болгарный знак в ваших действиях.