通常,我们会将ListView
与BaseAdapter
一起使用。但是这些天我研究适配器模式。我想知道我们是否可以在没有适配器的情况下使用ListView
?例如,我们可以在ListView
中编写项目,就像这样:
<ListView>
<Item/>
<Item/>
<Item/>
</ListView>
我已经尝试了很多次,但它没有用。我可以使用ListView
而不使用Adapter
吗?
答案 0 :(得分:5)
试试这个..
在string.xml中首先执行此操作..
<string-array name="Entries">
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
</string-array>
然后在xml中的ListView中执行此操作。
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/Entries"></ListView>
答案 1 :(得分:2)
ListViews
必须使用Adapter
。如果您没有设置Adapter
并通过XML设置android:entries
,那么它会在内部使用适配器来扩充视图。
来自docs:
ListView
是一个显示可滚动项列表的视图组。列表项将使用Adapter
自动插入到列表中,该Adapter
从源(例如数组或数据库查询)中提取内容,并将每个项目结果转换为放入列表的视图。
ListView
class是AdapterView
的子类,定义为:
AdapterView是一个视图,其子项由
Listview
确定。
因此Adapter
必须使用{{1}}来扩充其子视图。