在android列表视图中显示JSONArray的结果
问题描述:
试图在android listview中显示JSONArray的数据。但我无法得到它。 这里是源代码在android列表视图中显示JSONArray的结果
@Override
public void onSuccess(String response) {
// Hide Progress Dialog
prgDialog.hide();
try {
Log.d("sssss..", "rrrrr...");
// JSON Object
//JSONObject obj = new JSONObject(response);
JSONArray obj=new JSONArray(response);
Log.d("hello", "hiiii");
for (int i = 0; i < obj.length(); i++) {
Log.d("srikanth", "hiiii");
// JSONObject obj2 = obj.getJSONObject(i);
Log.d("TEST", obj.toString());
}
} catch (JSONException e) {
e.printStackTrace();
}
}
和下面的输出,我在logcat中得到
12-02 16:18:44.000: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.000: D/srikanth(272): hiiii
12-02 16:18:44.000: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.010: D/srikanth(272): hiiii
12-02 16:18:44.010: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.010: D/srikanth(272): hiiii
12-02 16:18:44.021: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.021: D/srikanth(272): hiiii
12-02 16:18:44.030: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.030: D/srikanth(272): hiiii
12-02 16:18:44.040: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.050: D/srikanth(272): hiiii
12-02 16:18:44.050: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.050: D/srikanth(272): hiiii
12-02 16:18:44.060: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.060: D/srikanth(272): hiiii
12-02 16:18:44.060: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.060: D/srikanth(272): hiiii
12-02 16:18:44.070: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.070: D/srikanth(272): hiiii
12-02 16:18:44.070: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
12-02 16:18:44.070: D/srikanth(272): hiiii
12-02 16:18:44.080: D/TEST(272): [{"id":12,"num":"321"},{"id":11,"num":"clinical"},{"id":10,"num":"fsd"},{"id":9,"num":"2015"},{"id":8,"num":"133"},{"id":7,"num":"007"},{"id":6,"num":"TESTSTUDY"},{"id":5,"num":"111"},{"id":4,"num":"1000"},{"id":3,"num":"121"},{"id":2,"num":"s one"},{"id":1,"num":"Default_Study"}]
答
使用以下代码从您的JSON数据中获取数据,即“id”&“num”。
try {
JSONArray JSON = new JSONArray(response);
for (int i = 0; i < JSON.length(); i++) {
JSONObject obj = JSON.getJSONObject(i);
String id = obj.getString("id");
String num = obj.getString("num");
Log.e("JSON", "id : : " + id);
Log.e("JSON", "num : : " + num);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
把这个ID和数据,一些列表或阵列,
使用BaseAdapter对这些数据设置为您的列表视图。
接受为答案,如果有帮助。
答
package com.example.expandablelistadapter;
public class Data {
public String id;
public String num;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
@Override
public String toString() {
return "id=" + id + ", num=" + num + "";
}
}
try {
List<Data> dataList= new ArrayList<>();
JSONArray JSON = new JSONArray(response);
for (int i = 0; i < JSON.length(); i++) {
JSONObject obj = JSON.getJSONObject(i);
Data d = new Data();
d.setId(obj.getString("id"));
d.setNum(obj.getString("num"));
dataList.add(d);
}
ArrayAdapter<Data> itemsAdapter =new ArrayAdapter<Data>(this,android.R.layout.simple_list_item_1, dataList);
ListView listView = (ListView) findViewById(R.id.lvItems);
listView.setAdapter(itemsAdapter);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
如上ü可以设置列表视图中的数据项和u还可以定义乌尔自己的自定义适配器还
和XML代码列表视图:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/lvItems"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
</LinearLayout>
可以请你说明什么?如何在我的代码中做到这一点。 – srikanthg