尝试在android listview中显示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"}]
答案 0 :(得分:1)
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();
}
如上所述你可以设置listview的数据项,你也可以定义你自己的自定义适配器
和列表视图的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>
答案 1 :(得分:0)
您应为Adapter
实施自定义ListView
。看看this other question
答案 2 :(得分:0)
获取数据,即“id”&amp;使用以下代码从您的JSON DATA中获取“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将这些数据设置为列表视图。
如果有帮助,请接受答案。