このコードを使用して、PHP からデータを取得し、リストビューに表示しました。HashMap コレクションを ArrayList に配置し、ArrayList を SimpleAdapter に挿入して画面に表示します。
問題は、「画像」という名前の要素を HashMap に入れ、値が画像 URL の場合、SimpleAdapter は画像を表示せず、文字列として理解します (文字列を画像に変換しません)。
この問題を解決するには?
JSONObject jsonObject = JSONParser.getJSONObject("xxxxxxx/android_get_places.php"); JSONArray jsonArray = null;
try { jsonArray = jsonObject.getJSONArray("place"); } catch (JSONException e) { e.printStackTrace(); } ArrayList<HashMap<String, String>> arrayList = new ArrayList<HashMap<String, String>>(); for (int i = 0; i < jsonArray.length(); i++) { JSONObject object = null; try { object = jsonArray.getJSONObject(i); } catch (JSONException e) { e.printStackTrace(); } try { String name = object.getString("name"); HashMap<String, String> map = new HashMap<String, String>(); map.put("name", name); arrayList.add(map); } catch (JSONException e) { e.printStackTrace(); } setListAdapter(new SimpleAdapter(getApplicationContext(), arrayList, R.layout.place_item,
new String[]{"name"}, new int[]{R.id.title}));