我有一个 ListView ,它只是这样填充的:
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice, aux))
'aux' 它是 static String[] aux = null;
,通过 Web 服务填充。
我制作了一个主题并使用静态 ListView 元素进行了测试,文件 lista.xml -> 你可以看到它 here (如果您查看底部,您会看到我放置了“列表项 1,列表项 2”,因此我需要动态地填充这些值...)
我的问题是,如何将主题应用到我的列表适配器?
我相信我从以下开始:
setListAdapter(新的ArrayAdapter(这个, R.layout.lista, aux))
但是我有两个问题。
(1) 我不知道如何使用 XML 并从 java 填充 (setlistadapter) (2) 我相信我会失去复选框。
但是,如果有人可以先帮助解决(1)问题,我将不胜感激:)我真的不知道现在在做什么!
最佳答案
setListAdapter(new ArrayAdapter(this, R.layout.lista, aux))
是开始,你是对的,但是当你想要自定义ListItem布局时,你必须编写一个自定义ListAdapter。您extend ArrayAdapter<YourItemClass>
例如。在那里你重写方法 getView()
在此方法中,您可以使用 Aux 对象的值填充自定义布局。
对于 ArrayAdapter,您必须在布局中为 ListView 项设置一个 id
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:id="@+id/textview" android:layout_weight="1">
</TextView>
使用 id/textview 你说你的 listAdapter 渲染到这个 View 中。
编辑:哦,你必须学习并遵守列表的持有者概念。这里:How to load the Listview "smoothly" in android
关于java - 如何为使用 setListAdapter 填充的 Listview 设置主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7380235/