Android: 在多个活动中显示菜单

5

我在我的应用程序中有几个活动。除了一个活动外,我希望我的活动拥有相同的菜单项。我想知道是否有一种简单的方法可以将菜单项放入所有选定的活动中,而不是为每个单独的活动复制和粘贴菜单项?基本上,我想与选定的活动共享菜单项。

谢谢。

2个回答

10

创建一个扩展Activity的类(比如叫做A类),然后通过扩展这个A类来创建其他所有的活动。现在,在A类中,将通用菜单项存储在向量中,任何特定的菜单操作可以添加到特定的活动中。这样,您就避免了在每个活动中复制和粘贴菜单项的麻烦。


谢谢你的解决方案!它确实起作用了,但并不是所有我的类都继承自Activity,有些是继承自ListActivity并直接依赖于该类,所以我不确定在这种情况下扩展A类是否可行。 - user522559
1
为什么不使用ListView而不是ListActivity。ListView将提供ListActivity提供的所有功能。只需将ListView创建为活动的成员变量并使用它即可。 - pankajagarwal

1

这就是MVC背后的一般思路 - 能够使用相同的模型(菜单数据)显示不同的视图(活动)。

如果您动态加载这些菜单 - 请使用具有菜单数据的Singleton类并从中获取它。

如果这些菜单已经在xxx.xml中定义 - 您必须创建新的menu.xml(例如),并在其中提取菜单描述。 然后在需要该菜单的所有活动布局中包含它。

您还可以始终动态地填充menu.xml。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接