如何在 30 多个活动中将菜单项添加到操作栏

how to add menu items to action bar in more than 30 activities

我在 android studio 中创建了一个应用程序,它有超过 30 个活动。我在一些活动中创建了菜单项,方法是将它们添加到单独的菜单文件中,它们运行良好。

但问题是在每个菜单文件中添加所有菜单项是一件很头疼的事情activity.So如何解决这个问题?我可以为所有活动使用自定义菜单文件吗?如果是,比如何?

请帮助并提前致谢。

选项 A

实现菜单项逻辑的基础 Activity class - 在这种情况下,您的所有 30 个 Activity 都应扩展基础 Activity.

这种方法有一个严重的局限性,它会强制您扩展一个 class,即使您可能需要扩展另一个,因为 Java 不支持多重继承。这就是常见口头禅 "favor composition over inheritance".

的原因

选项 B

创建一个在其 onCreate 回调中调用 setHasOptionsMenu(true)Fragment,并将此片段的一个实例添加到所有活动的 onCreate 回调中。该片段不需要覆盖 onCreateView,因为它不会扩充任何布局。

这种方法增加了一些复杂性,但好处是您不必为所有活动强制继承基础 class。