在Android上进行编程时,我最终编写了一个由其他几个人扩展的父活动。有点像ListActivity
。我的父活动扩展了Activity
。如果我打算使用Map
或List
,我不能将我的父活动用作超类 - 子活动显然只能扩展一个活动。因此,我最终使用Activity
,ListActivity
,MapActivity
等相同逻辑编写我的父活动。
我在寻找的是某种特性功能/设计模式,在这种情况下会有所帮助。有什么建议吗?
答案 0 :(得分:3)
我真的不喜欢ListActivity
,MapActivity
等等。基本上,它们只是以一些灵活性为代价添加单个视图元素的活动。通过适当地向您的XML添加MapView
或ListView
,您最终可以直接扩展Activity
派生的超类。因此,大多数情况下不要使用任何SomethingActivity类。
答案 1 :(得分:1)
我最终拥有一个基础MyAbstractActivity extends Activity
,其中包含共享逻辑和模仿MyAbstractListActivity extends MyAbstractActivity
的{{1}}(ListActivity
,layout.R.id.list
等。那里没什么了。)
答案 2 :(得分:1)
我正在使用具有所有共享功能的delegate。这使我能够将所有共享功能集中在一个单独的类中,用于所有不同的活动 我的所有活动都会扩展其特殊活动,然后实现一个通用接口。这种方法的问题是我需要实现接口中定义的所有方法,并在委托对象中调用匹配方法。此代码目前相当于30行重复的代码,我认为这不是一个问题。