在android列表视图中显示JSONArray的结果

时间:2015-12-02 10:52:49

标签: android mysql

尝试在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"}]

3 个答案:

答案 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将这些数据设置为列表视图。

如果有帮助,请接受答案。