【问题标题】:How can i add each item to listview android如何将每个项目添加到 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

我该如何解决这个问题,我真的很累尝试了很多没有成功的事情:/

【问题讨论】:

    标签: java android listview android-listview


    【解决方案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
      • 将适配器设置为循环
      猜你喜欢
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多