我正在使用 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/