我想为所有的活动屏幕创建一个静态的选项菜单。我不想在每个活动中覆盖
由于
有其他方法可以实现相同的功能吗?
onCreateOptionsMenu()
。由于
Menu
类是具有大量方法的接口,因此很难创建实现类的静态对象。有其他方法可以实现相同的功能吗?
onCreateOptionsMenu()
。Menu
类是具有大量方法的接口,因此很难创建实现类的静态对象。如果我理解你的问题正确,你想在所有Activity中使用相同的菜单。我可以想到两种方法来实现这个功能:
创建一个继承自Activity
的子类,并实现onCreateOptionsMenu()
和 onOptionsItemSelected()
(还可能需要实现onPrepareOptionsMenu
)。然后让所有的Activity
继承这个子类。
在某个位置创建一个名为populateOptionsMenu()
的静态方法,该方法接收一个Menu
(和可能需要的Context
)作为参数。然后,你的Activity
类可以从它们的onCreateOptionsMenu()
方法中调用此方法来填充Menu
。你还需要一个对应的processItemSelected()
静态方法来处理被点击的菜单项。
选项1似乎是最好的选择,因为它不需要在你的Activity中调用静态方法时添加额外的代码。