Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 静态选项菜单_Android_User Interface - Fatal编程技术网

Android 静态选项菜单

Android 静态选项菜单,android,user-interface,Android,User Interface,我想为我的所有活动屏幕创建一个静态选项菜单。我不想在每个活动中覆盖创建选项菜单() 由于菜单类是一个包含大量方法的接口,因此很难创建实现类的静态对象 还有其他方法吗?如果我没看错你的问题,你希望所有活动都有相同的菜单。我可以想出两种方法: 创建活动的子类,该子类实现onCreateOptions菜单()和onOptions ItemSelected()(可能还有onPrepareOptions菜单)。然后让所有的活动类扩展这个子类 在某个地方创建一个名为populateOptionsMenu()

我想为我的所有活动屏幕创建一个静态选项菜单。我不想在每个活动中覆盖创建选项菜单()

由于
菜单
类是一个包含大量方法的接口,因此很难创建实现类的静态对象


还有其他方法吗?

如果我没看错你的问题,你希望所有活动都有相同的菜单。我可以想出两种方法:

  • 创建
    活动的子类
    ,该子类实现
    onCreateOptions菜单()
    onOptions ItemSelected()
    (可能还有
    onPrepareOptions菜单
    )。然后让所有的
    活动
    类扩展这个子类

  • 在某个地方创建一个名为
    populateOptionsMenu()
    的静态方法,该方法将
    菜单
    (可能还有
    上下文
    )作为参数。然后,您的
    活动
    类可以从其
    onCreateOptions菜单()
    方法调用此函数来填充
    菜单
    。您还需要一个对应的
    processItemSelected()
    静态方法来确定单击项目的时间


  • 选项1似乎最好,因为它不需要在您的活动中使用相同的bolierplate来调用静态方法。

    您的意思是选项2不需要相同的bolierplate吗?第一个解决方案不是个好主意,因为它需要继承。如果我的活动不是活动(FragmentActivity、ListActivity等),该怎么办?我认为我们应该在可能的情况下取消继承。@翡翠214在这种情况下,您不能使用“实现”吗?如何将全局选项菜单与购物车图标和计数集成在一起?如何使用计数全局实现请帮助我