我正在使用一个扩展Activity的类来从API中获取列表...
在一些基本相同的应用程序中,开发人员扩展了ListActivity ...
有哪些区别?
答案 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