我正在使用一个扩展 Activity 的类来从 API 获取列表...
在一些基本相同的应用程序中,开发人员扩展了 ListActivity...
有哪些区别?
我正在使用一个扩展 Activity 的类来从 API 获取列表...
在一些基本相同的应用程序中,开发人员扩展了 ListActivity...
有哪些区别?
ListActivity
android.app.Activity
如果您愿意,可以通过“免费”提供许多以列表为中心的功能来扩展通用功能。例如,列表条目单击的处理巧妙地包含在 ListActivity 中onListItemClick(...)
,而如果您使用的是普通的,android.app.Activity
那么您需要使用OnClickListener
and 实现手动实现它。
总而言之,如果您的布局包含一个列表,那么请使用 ListActivity/ListFragment,因为它是一个有用的扩展。这并不意味着您的整个屏幕布局必须是列表,而是它的一部分必须托管一个带有标识符的 ListView 小部件,id="@android:id/list"
.
可以在此处找到有关该类的 Javadoc 以及如何使用它的有用示例。
ListActivities 是专门为与 ListViews 一起使用而设计的。它提供了几个辅助方法,例如onListItemClick(),这使得在其中使用 ListView 变得更加容易。
您可以在 ListActivity 中的 Activity 中执行您可以执行的任何操作。
如果您想更改 ListActivity 的布局,您仍然可以使用 Activity 中的 setContentView() 方法。只要在您的 View 中某处有一个名为 @android:id/list 的 ListView,ListActivity 仍然可以工作。
如果您仍然不确定,您可以随时查看ListActivity的源代码(链接到的 Jelly Bean 代码),看看它除了让您的生活更轻松之外并没有做太多事情。
从ListActivity
您同意合同的扩展开始,您的活动布局ListView
中将有一个组件可用。
你的ListView
组件应该有 id: @android:id/list
ListView 类为工作和操作 ListView 提供了方便的方法
此外,在常规中,Activity
您可以使用下面的代码onCreate
来隐藏应用程序标题栏。似乎您不能在ListActivity
. (很难学到这一点)
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_list);
// The rest of the content of onCreate