java - 无法将 ArrayList 数据加载到 android 中的微调器

标签 java android json arraylist

我正在使用 json 解析来自服务器的数据。然后将它们存储在 Arraylist 中并将它们加载到 android 中的微调器中。但是我对所有微调器数据都获得了相同的值。例如我得到的 json 数据如下:

[{"定价":"500,600,700,800,900,1000"}]

现在我用逗号分隔它们并将它们添加到数组列表中,如下所示:

List<String> items = Arrays.asList(Pricing.split(","));
for(int j=0;j<items.size();j++)
{
    r.add(items.get(i));
}

然后在微调器中加载这个数组列表。 这是我的完整代码:

    try 
                {
                    json = new JSONArray(data);
                    for (int i = 0; i < json.length(); i++) 
                    {
                        JSONObject obj = json.getJSONObject(i);
                        String Pricing = obj.getString("pricing");

                        List<String> items = Arrays.asList(Pricing.split(","));
                        List<String> r = new ArrayList<String>();
                        for(int j=0;j<items.size();j++)
                        {
                            r.add(items.get(i));
                        }
                    }

                    @SuppressWarnings({ "rawtypes", "unchecked" })
                    ArrayAdapter cd = new ArrayAdapter(this,android.R.layout.simple_spinner_item,r);  
                    cd.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
                    spin2.setAdapter(cd); 
}

但是旋转器有 500 500 500 500 500 500 而不是 500 600 700 800 900 1000。 我在这段代码中做错了什么......??我是安卓新手。请给我建议解决方案。

最佳答案

尝试这种方式,希望这能帮助您解决问题。

您使用的是用于外循环的错误索引变量 (i),但您使用内循环访问数据,因此只需将 (i) 索引变量替换为 (j) 索引变量即可。

r.add(items.get(i));

替换

r.add(items.get(j));

关于java - 无法将 ArrayList 数据加载到 android 中的微调器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26772158/

相关文章:

java - 在 mysql 中存储 System.currentTimeMillis() 的输出

android - 可扩展面板布局

.net - 如何将 JObject 反序列化为 .NET 对象

android - 如何更改 android 中 sherlock actionbar overflow-dropdown 项目的文本颜色?

java - 将 JSON 数组表示为字符串

Python:将 JSON 对象转换为 JSON 数组

java - 有人可以向我解释间接堆/间接优先级队列的概念吗?

java - 怎么称呼这种赋值: float aFloat = 4. f;

java - 使用来自 hadoop reduce 的复合主键插入到 cassandra 表

android - 无法通过包管理器启动广播接收器