我在android studio中创建了一个有30多个活动的应用程序。我在一些活动中创建了菜单项,将它们添加到单个菜单文件中,它们运行良好。
但问题是,在每个活动的菜单文件中添加所有菜单项是一件非常令人头痛的问题。那么如何解决这个问题呢?我可以为所有活动使用自定义菜单文件吗?如果是,那怎么样?
请提前帮助和谢谢。
答案 0 :(得分:1)
选项A
实现菜单项逻辑的基础Activity
类 - 在这种情况下,所有30个活动都应扩展基本活动。
这种方法有一个严重的限制,它强制你扩展一个类,即使你可能需要扩展另一个类,因为Java不支持多重继承。这就是为什么常见的咒语有利于构成而不是继承"。
选项B
创建一个Fragment
,在其setHasOptionsMenu(true)
回调中调用onCreate
,并将此片段的实例添加到他们自己的onCreate
回调中的所有活动中。该片段不需要覆盖onCreateView
,因为它不会对任何布局进行充气。
这种方法有一些额外的复杂性,但是回报是你没有被迫从基类继承你的所有活动。