Android上的DRY选项菜单

时间:2011-06-11 04:39:10

标签: android android-menu

我正在学习如何为Android应用创建选项菜单。

guide中,它有以下提示用于保持DRY菜单:

  

提示:如果您的应用包含   多个活动和其中一些活动   提供相同的选项菜单,   考虑创建一个活动   什么都没有实现除了   onCreateOptionsMenu()和   onOptionsItemSelected()方法。然后   为每个活动扩展此类   应该共享相同的选项   菜单。这样,你必须管理   只有一组代码用于处理菜单   动作和每个后代类   继承菜单行为。

这似乎有问题。如果需要共享相同选项的Activity继承自不同的类,我的OptionsMenuActivity应该继承什么?我读到Java不支持多重继承,那么你如何解决这个问题呢?

1 个答案:

答案 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方法。