我必须从我收到的ArrayAdapter
回复中制作自定义JSON
。以下是我收到回复的代码,并将其放入简单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,最后一个用于描述。
任何帮助将不胜感激。
答案 0 :(得分:1)
制作自定义适配器。将该适配器设置为列表视图。您的Adapter类应该扩展ArrayAdapter。在getView()中,使用3个textviews为您的自定义xml充气。使用视图来提高性能。
她是一个例子http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/。她对listview http://www.youtube.com/watch?v=wDBM6wVEO70有点了解。
how to set json parsed data in a listview and then adding search functionality in it。看看答案。我已经使用hashmap并在listview中显示数据,并在listview项目上进行搜索。根据您的需要修改它。
答案 1 :(得分:0)
Anupam,你可以放置像
这样的小数据 al.add(" " + apple + " " + ball + "" +cat + "");
单行单行。如果你想在单行中保留那么多数据(上面一行中提到的数据)是不可能的。