在我的整个应用程序中,我的所有活动中都有一些相同的内容,例如:一个optionsmenu和一些需要在onresume,onrestart和onpause上运行的代码。我认为将它们放入我的类中是一种聪明的方法MyListActivity扩展了ListActivity,然后我的所有活动都扩展了MyListActivity。
这很好,直到我创建了一个没有ListView的活动。应用程序崩溃,因为ListActivity需要ListView。但是,这个新活动不需要ListView,但仍需要MyListActivity中的所有函数/覆盖。
现在我可以想到两个解决方案。一:在布局中添加一个虚拟列表视图,其中visibility = false,height& width = 0(没试过这个,但我想它应该有用)。第二步:将MyListActivity类的内容复制/粘贴到MyActivity扩展的Activity类中。我觉得这样做很傻,但我对如何解决这个问题没有任何其他想法。
关于如何处理这个更好的想法?
由于
答案 0 :(得分:0)
我认为您可以实现Activity
子类中的所有功能(例如MyActivity
),并使MyListActivity
类成为MyActivity
类的子类。
其他方法是创建一个辅助类,其中包含静态方法中的所有功能,并以Activity
对象作为第一个参数。在这种情况下,您不需要创建MyActivity
或MyListActivity
类,但是您需要在要继承这些功能的每个Activity
子类中调用辅助类的方法。