有没有一种方便的方法可以在多个活动中显示相同的选项菜单选项?
示例:在我的应用程序中,我以三种方式之一显示电视指南。
- 七日指南(带有 7 个选项卡的 TabActivity)
- 所有频道“正在播放”(ListActivity)
- 今天所有节目的开始时间(活动 - 可以轻松更改为 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:
...
...
}
}
...但目前看来我需要将其复制/粘贴到我不喜欢做的其他两个活动中。如果我更改其中一个的选项菜单代码,我还需要对另外两个进行更改。
我能想到的唯一选择是我有一个“助手”类(POJO),我可以向其中添加一个方法并将其传递给以context
允许使用该getMenuInflator()
方法,而另一个方法我可以将结果传递item.getItemId()
给使用开关进行处理-案子。
具有相同选项菜单的多个活动的正常方式是什么?