【发布时间】:2013-03-01 18:07:22
【问题描述】:
我必须从收到的JSON 响应中自定义ArrayAdapter。这是我得到响应的代码,并将其放入简单的ArrayAdapter 和android.R.layout.simple_list_item_1
ListView lv = (ListView) findViewById(R.id.list);
try {
HttpClient hClient = new DefaultHttpClient();
HttpGet hGet = new HttpGet(
"API HERE");
ResponseHandler<String> rHandler = new BasicResponseHandler();
data = hClient.execute(hGet, rHandler);
JSONObject rootObj = new JSONObject(data);
JSONObject searchObj = rootObj.getJSONObject("searchdata");
JSONArray titlesObj = searchObj.getJSONArray("titles");
JSONArray descsObj = searchObj.getJSONArray("desc");
JSONArray linksObj = searchObj.getJSONArray("links");
String[] a = new String[titlesObj.length()];
String[] b = new String[descsObj.length()];
String[] c = new String[linksObj.length()];
for (int i = 0; i < titlesObj.length(); i++) {
String title = titlesObj.getString(i);
a[i] = title;
}
for (int i = 0; i < descsObj.length(); i++) {
String desc = descsObj.getString(i);
b[i] = desc;
}
for (int i = 0; i < linksObj.length(); i++) {
String link = linksObj.getString(i);
c[i] = link;
}
ArrayList<String> al = new ArrayList<String>();
for (int i = 0; i < linksObj.length(); i++)
{
al.add(" " + a[i] + " " + b[i] + "" + c[i] + "");
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this, android.R.layout.simple_list_item_1, al);
lv.setAdapter(adapter);
} catch (Exception e) {
}
这里是我的观点截图:
我想显示三个TextView 的视图,一个用于标题,另一个用于 URL,最后一个用于描述。
任何帮助将不胜感激。
【问题讨论】:
标签: android android-listview android-arrayadapter android-ui