java - 如何为使用 setListAdapter 填充的 Listview 设置主题

标签 java android listview

我有一个 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/

相关文章:

android - 如何将 set 作为额外内容放入 Intent 中?

c# - 如何在 ASP.NET 的 ListView 中的复选框的 CheckedChanged 事件中找到数据键?

android - Listview 的页脚 View 未显示在一台设备上,而是显示在另一台设备上?

c# - 我需要更改 asp :buttons that are in a ListView from code behind

java - 将属性文件值与数据库中的数据耦合是一种反模式吗?

java - 通常当我们收到 "org.apache.commons.logging.LogFactory"错误时?

java - 无法运行gradle run命令

java - 根据规范,EJB 计时器调用是否可以与指定计时器重叠?

android - 使用 Square 的 Wire 生成 Protobuf java 文件

android - android.opengl.matrix 中 setRotateM 函数背后的数学原理是什么?