Повторное использование кода меню параметров

Есть ли удобный способ отображения одних и тех же параметров меню параметров в нескольких действиях?

Пример: в моем приложении я показываю телегид одним из трех способов.

  1. Семидневный гид (TabActivity с 7 вкладками)
  2. Все каналы «Сейчас отображается» (ListActivity)
  3. Все показывает сегодня по времени начала (Activity - можно легко изменить на ListActivity)

Для меню параметров в 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:
        ...
    ...
    }
}

... но на данный момент мне кажется, что мне нужно скопировать / вставить его в два других Activity, которые мне не нравятся. Если я изменю код меню параметров для одного, мне нужно будет сделать это и для двух других.

Единственная альтернатива, о которой я могу думать, - это «вспомогательный» класс (POJO), к которому я мог бы добавить метод и передать контекст , чтобы разрешить использование getMenuInflator () и другой метод. Я мог бы передать результат item.getItemId () для обработки с помощью switch-case.

Каков обычный способ иметь несколько действий с одним и тем же меню параметров?

6
задан Squonk 14 November 2011 в 02:14
поделиться