如何在 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。
我在 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。