Есть ли удобный способ отображения тех же опций меню опций в нескольких действиях?Повторное использование кода меню опций
Пример: В моем приложении я показываю ТВ-гид одним из трех способов.
- Семь дней руководство (TabActivity с 7 вкладками)
- Все каналы 'Теперь показывая' (ListActivity)
- Все шоу сегодня по времени начала (активность - может быть легко изменен на ListActivity)
Для меню Options в TabActivity
, код довольно прост ...
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
menu.clear();
inflater.inflate(R.menu.gv_options_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.view:
...
...
}
}
... б ut в данный момент кажется, что мне нужно скопировать/вставить его в другие две действия, которые мне не нравятся. Если я изменил код меню «Параметры» для одного, мне нужно будет сделать это и для двух других.
Единственная альтернатива, которую я могу придумать, - это «класс помощника» (POJO), к которому я мог бы добавить метод, и передать context
, чтобы разрешить использование метода getMenuInflator()
, а другой метод - передать результат item.getItemId()
для обработки с помощью футляра-переключателя.
Каков нормальный способ иметь несколько видов деятельности с тем же меню параметров?
Как оказалось, я забыл, что содержимое вкладки в 7-дневный справочник «Активность» - это ListActivitys - я изменил «все шоу сегодня ...» (№ 3 в моем вопросе), чтобы также быть ListActivity и определил базовый класс, который все три теперь расширяются. Один из тех моментов, когда он не видел леса для деревьев. Благодарю. – Squonk