0

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

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

反之亦然,我将没有我需要扩展此父类的类的列表功能。

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

谢谢!

4

2 回答 2

0

您不必拥有 ListActivity 才能将 ListView 作为布局内的视图。

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

然后你所有的活动都可以扩展这个 BaseActivity。

希望这可以帮助!

于 2012-04-13T21:15:41.657 回答
0

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

我解决这个问题的方法是列出我需要的活动,以及我需要的所有功能,只有一些,并extend相应地。

例如,您可以让您的超级基础活动,BaseActivity. 这可以具有所有子活动所需的设置、拆卸和任何其他功能。从那里,您可以拥有类似的东西BaseListActivityextends BaseActivity,处理您可能需要的一切,BaseActivity并为 ListViews 添加功能。

Activity > BaseActivity > BaseListActivity > MyListActivity
Activity > BaseActivity > MyPlainActivity

这是我一直致力于管理游标和 ListViews 的一些课程的视频。

ManagedActivity 课程 - YouTube

于 2012-04-13T21:15:51.523 回答