如何将每个项目添加到 listview android
Posted
技术标签:
【中文标题】如何将每个项目添加到 listview android【英文标题】:How can i add each item to listview android 【发布时间】:2020-06-27 05:49:28 【问题描述】:我使用来自 webChromeClient 的 onConsoleMessage 从 console.log(js) 获得了一个列表
158 字
我做到了
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter=new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1,list);
list.add(a);
simpleList.setAdapter(adapter);
a 是具有该列表的字符串
我总是得到一项,它是列表视图中的最后一项U.S. Virgin Islands
我该如何解决这个问题,我真的很累尝试了很多没有成功的事情:/
【问题讨论】:
【参考方案1】: ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter=new ArrayAdapter<String>
(getContext(), android.R.layout.simple_list_item_1,list);
list.addAll(Arrays.asList(a));
simpleList.setAdapter(adapter);
其中 'a' 是 String 类型的数组。
【讨论】:
【参考方案2】:在一个变量中,您应该获得适配器中的数据数量。然后在一个简单的 while 循环中,您将拥有保存在共享首选项中的数据。您可以对其进行烘烤、在日志中查看或将其添加到 Arraylist。
int j = adapter.getCount();
int i = 0;
while (i < j)
Log.d("abc", adapter.getItem(i));
i++;
【讨论】:
为什么错了?你知道你想要什么吗?使用我的代码,您将获得所有保存在共享首选项中的项目 我的答案是在Kotlin,你可以用我的想法,把我的代码改成Java 将 Java 转换为 Kotlin 很容易,因为 Android Studio 大部分时间都会自动完成。反过来,对于不了解 Kotlin 的人来说,并不总是那么容易。如果您认为此代码回答了问题,您应该提供一些描述/解释。即使对于了解 Kotlin 的人来说,最好在代码本身旁边说明它的作用。 你是正确的@Nikos Hidalgo,我在我的答案中添加了描述并将代码转换为Java。感谢您的推荐。 嗨@MohammadMoeinGolchin 对不起我以前的cmets,我错了,【参考方案3】:使用for each
循环获取列表中的所有元素:
例如for(String list: a)
所有项目都是
存储在arrayList
,然后
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter=new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1,list);
list.add(ss);
simpleList.setAdapter(adapter);
'a'是一个String类型的数组。
【讨论】:
谢谢你的回答,能不能请你修改一下对应我的代码,我真的不知道怎么用 我做了``for(String aa: list) list.add(aa); simpleList.setAdapter(adapter);
只是为了清楚,每次返回一个字符串,我希望该字符串在列表视图中
ss in 未定义,a 为字符串,不适用于 foreach
将适配器设置为循环以上是关于如何将每个项目添加到 listview android的主要内容,如果未能解决你的问题,请参考以下文章
C# listView,如何将项目添加到第 2、3 和 4 列等?
如何在不滚动的情况下将项目添加到 ListView 的开头?