扩展Activity和扩展ListActivity有什么区别?

时间:2012-08-15 12:37:41

标签: android android-activity listactivity extend

我正在使用一个扩展Activity的类来从API中获取列表...

在一些基本相同的应用程序中,开发人员扩展了ListActivity ...

有哪些区别?

4 个答案:

答案 0 :(得分:11)

如果您愿意,

ListActivity可以通过免费提供一系列以列表为中心的功能来扩展公共android.app.Activity的功能。例如,列表条目点击的处理整齐地包含在ListActivity的onListItemClick(...)中,而如果您使用普通android.app.Activity,那么您需要使用OnClickListener和实现手动实现此操作。

从各方面来看,如果你的布局包含一个列表,那么使用ListActivity / ListFragment,因为它是一个有用的扩展。这并不意味着您的整个屏幕布局必须是列表,但它的一部分必须托管带有标识符id="@android:id/list"的ListView小部件。

可以在here找到关于如何使用它的有用示例的类上的Javadoc。

答案 1 :(得分:3)

ListActivities专门设计用于ListViews。它提供了几个辅助方法,如onListItemClick(),这使得更容易在其中使用ListView。

您可以在ListActivity中的活动中执行任何操作。

如果要更改ListActivity的布局,您仍然可以使用Activity中的setContentView()方法。只要在View中某处有一个名为@android:id / list的ListView,ListActivity仍然有效。

如果你仍然不确定,你可以随时查看ListActivity(链接到的Jelly Bean代码)的源代码,看看除了让你的生活变得有点以外它没有那么多更容易。

答案 2 :(得分:2)

ListActivity扩展您同意合约,在您的活动布局中,ListView组件将可用。

您的ListView组件应具有ID:@android:id/list

ListView类提供了处理和操作ListView

的便捷方法

答案 3 :(得分:0)

此外,在常规Activity中,您可以使用onCreate中的以下代码隐藏应用标题栏。似乎你不能在ListActivity中做同样的事情。 (艰难地学到了这一点)

requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_list);
// The rest of the content of onCreate