在Android上实施Application wide Options菜单的最佳方法是什么?

时间:2011-11-14 16:04:06

标签: android android-menu

我是Android新手,正在处理需要“选项”菜单的应用。我目前通过将其设置为主要活动并在主活动中将扩展设置为选项菜单来实现。

但是因为我在团队中工作,所以这种方法并不总是与我们一起工作,因为我们需要扩展另一项必不可少的活动。

我的问题 如何在不延长主要活动中的活动的情况下在整个应用程序中实施此选项菜单?

我的当前设置

  1. 我有一个MainActivity(首先开始) - MainActivity扩展了MenuClass
  2. 我有OptionsMenu类,MenuClass(我希望这是应用程序范围) - MenuClass扩展Activity
  3. 我有三个其他类,它们扩展了Activity本身!这三个活动是从MainActivity触发的,完成后返回MainActivity。

1 个答案:

答案 0 :(得分:2)

如果你不想,或者不能创建一个其他活动扩展的基本活动 - 为什么你没有一个具有public static void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {...}功能和{{1}的实用程序类? }?

public static boolean onOptionsItemSelected(MenuItem item) {...}

然后从你的Activity你可以这样做:

public class Utils {
    public static void onCreateOptionsMenu(Menu menu, MenuInflater inflater ){
        //... create default options here
    }

    public static boolean onOptionsItemSelected(MenuItem item) {
        //... see if you want to handle the selected option here, return true if handled
    }
  }

你可能想要改变这个的确切实现,具体取决于你如何在你的应用程序中构建它 - 即你可能不希望utils方法是静态的,因为你可能需要在那里维护一些状态,但这应该工作