複数のアクティビティで同じオプション メニュー オプションを表示する便利な方法はありますか?
例: 私のアプリでは、3 つの方法のいずれかで TV ガイドを表示します。
- 7 日間ガイド (7 つのタブを持つ TabActivity)
- すべてのチャネル「現在表示中」(ListActivity)
- 今日の開始時刻までのすべてのショー (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:
...
...
}
}
...しかし、現時点では、好きではない他の 2 つのアクティビティにコピー/貼り付けする必要があるようです。1 つの [オプション] メニュー コードを変更すると、他の 2 つのコードも変更する必要があります。
私が考えることができる唯一の代替手段は、メソッドを追加してメソッドをcontext
使用できるようにする「ヘルパー」クラス(POJO)と、スイッチで処理するgetMenuInflator()
ために結果を渡すことができる別のメソッドがあることです。 item.getItemId()
-場合。
複数のアクティビティを同じ [オプション] メニューで使用する通常の方法は何ですか?