我正在学习如何为Android应用创建选项菜单。
在guide中,它有以下提示用于保持DRY菜单:
提示:如果您的应用包含 多个活动和其中一些活动 提供相同的选项菜单, 考虑创建一个活动 什么都没有实现除了 onCreateOptionsMenu()和 onOptionsItemSelected()方法。然后 为每个活动扩展此类 应该共享相同的选项 菜单。这样,你必须管理 只有一组代码用于处理菜单 动作和每个后代类 继承菜单行为。
这似乎有问题。如果需要共享相同选项的Activity
继承自不同的类,我的OptionsMenuActivity
应该继承什么?我读到Java不支持多重继承,那么你如何解决这个问题呢?
答案 0 :(得分:3)
包含选项菜单代码的活动应扩展Activity类。
public class YourRootActivity extends Activity {
// Any other stuff that you want for all activities
public boolean onCreateOptionsMenu(Menu menu){
// your main options menu
}
}
现在对于需要此菜单的类,使它们扩展我们在上面创建的活动。
class Activity1 extends YourRootActivity {
}
如果您想在子类的选项菜单中稍作修改,可以覆盖这些类中的onCreateOptionsMenu方法。