以下のすべては、すでに JSON を配列に解析していることを前提としています。解析のヘルプについては、これを参照してください。
ListViews はアダプターを使用して要素を取得し、リストの行を埋めます。リストまたは配列(ArrayList、何を持っているか)を介して JSON の結果を SimpleListAdapter にフィードする必要があります。
リストビューに関するこのページから:
SimpleAdapter nommes = new SimpleAdapter(
this,
list,
R.layout.main_item_two_line_row,
new String[] { "line1","line2" },
new int[] { R.id.text1, R.id.text2 } );
(あなたの場合、この例のように 1 行のレイアウトまたは 2 行のレイアウトを使用して、id/name を表示/非表示にすることができます)
次に、アダプターを適用します
listView.setAdapter(nommes);
編集:
jObject = new JSONObject("<your JSON string from provider>");
// in my case:
res = jObject.getJSONObject("results");
**dataAdapter = new ArrayAdapter<String>(this, R.layout.item, R.id.itemName);**
try {
for (int r = 0; r < rslt.length(); r++){
JSONArray jA = rslt.getJSONArray(Integer.toString(r));
schoolLocString = jA.getString(0) +"|"+ jA.getString(1) +"[" + jA.optString(2);
**dataAdapter.add(schoolLocString);**
}
**myListView.setListAdapter(dataAdapter);**
} catch (JSONException e) {
Log.v(TAG, "Exception " + e);
} catch (NullPointerException e){
Log.v(TAG, "NPE, no rslt");
}
これは非常に怠惰な方法であり、おそらく悪い習慣ですが、アイデアを得ることができます。