如何将每个项目添加到 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的主要内容,如果未能解决你的问题,请参考以下文章

将项目添加到 Listview 控件

C# listView,如何将项目添加到第 2、3 和 4 列等?

将项目从对话框添加到 ListView

如何在不滚动的情况下将项目添加到 ListView 的开头?

如何更新 ListView 的一行,将视图添加到单击的项目?

使用ListView数据填充多个TextBox