JsonからSimpleAdapterでListviewに解析するデータを表示しようとしました。Android JsonArrayがSimpleAdapterでListviewにすべての値を取得できませんでした。
JsonArrayに複数の値に問題がある場合を除き、すべてのデータを表示できます。
あなたが見ることができるように、それだけですべての要素JsonArrayの最後の要素を表示しなく
JSONObject jsonObject = new JSONObject(response);
String get_option_data=jsonObject.getString("option_data");
JSONObject jsonObject1 = new JSONObject(get_option_data);
Iterator<String> iterator = jsonObject1.keys();
while (iterator.hasNext()) {
String oid = iterator.next();
String name_value=jsonObject1.getString(oid);
JSONObject jsonObject2=new JSONObject(name_value);
Iterator<String> iterator1 = jsonObject2.keys();
while (iterator1.hasNext()) {
String name=iterator1.next();
HashMap<String, String> map = new HashMap<>();
map.put("oid",oid);
map.put("name",name);
JSONArray jsonArray=jsonObject2.getJSONArray(name);
int i;
for(i=0;i<jsonArray.length();i++){
map.put("value",jsonArray.getString(i));
}
aList.add(map);
}
}
String[] from = {"oid","name","value"};
int[] to = {R.id.oid,R.id.name,R.id.value};
SimpleAdapter adapter = new SimpleAdapter(option.this, aList, R.layout.option_template, from, to);
ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);
をコーディングJSONデータ
{
"57": {
"Steak Doness": [
"well done",
"medium",
"rare"
]
},
"58": {
"Size": [
"small",
"medium",
"large",
"extra large"
]
},
"59": {
"Cooking Method": [
"spicy",
"non-spicy"
]
},
"63": {
"Coldness": [
"with ice",
"without ice"
]
}
}
のjavaそのJsonArray。誰が何が間違っているか知っていますか?
これまでのところうまく動作します。すべての要素が表示されます。次に、 "あなたのアドパターでは、split("、 ")を使って配列を作成して使用する必要があります。"あなたはこの部分のコーディングを提供できますか?すべての値がスペースなしで一緒に張り付いているので – gosulove
@gosulove:今すぐチェック – Jai
素晴らしい!それは今すぐうまく動作します – gosulove