如何将单个类扩展到Android中的常规活动和列表活动

时间:2012-04-13 21:04:49

标签: android inheritance android-activity listactivity

在我的应用程序中,我有常用的方法和属性,我希望List和常规活动都可用。我想使用继承来创建父类以扩展到这两种类型的活动。如果我使父类扩展列表活动,常规活动将给我例外:

java.lang.RuntimeException:您的内容必须有一个ListView,其id属性为'android.R.id.list'

反之,我不会有列表功能,我需要扩展此父类的类。

如何在不将相同方法复制到扩展listactivity和activity的两个不同类的情况下完成此操作?

谢谢!

2 个答案:

答案 0 :(得分:0)

您没有义务拥有ListActivity,以便在您的布局中将ListView作为View。

基于此,您可以创建一个扩展Activity的BaseActivity,并添加所有方法和属性。

然后您的所有活动都可以扩展此BaseActivity。

希望这有帮助!

答案 1 :(得分:0)

除非您正在寻找使用ListView的最简单方法,否则无需使用ListActivity。

我解决这个问题的方法是确定我需要哪些活动,以及我需要哪些功能,而且只需要一些,extend

例如,您可以拥有超级基础活动BaseActivity。这可以设置,拆卸以及您所有孩子活动所需的任何其他功能。从那里,您可以使用扩展BaseListActivity的{​​{1}},从BaseActivity处理您可能需要的所有内容,并为ListView添加功能。

BaseActivity

这是我用于管理游标和ListViews的一些类的视频。

ManagedActivity classes - YouTube