【问题标题】:JSON Parsing to ListView AndroidJSON解析到ListView Android
【发布时间】:2016-07-12 15:01:09
【问题描述】:

我在 Android 中从 JSON 解析到 Listview 时遇到问题。这是来自 JSON 的数据示例:

[{
    "area": "Kebon Jeruk",
    "city": "Jakarta"
}, {
    "area": "Puri",
    "city": "Jakarta"
}, {
    "area": "Grogol",
    "city": "Jakarta"
}]

我想让 ListView 像这样:

非常感谢。

【问题讨论】:

标签: android json listview


【解决方案1】:
JSONArray arr = new JSONArray(yourJSONresponse);
List<String> list = new ArrayList<String>();
for(int i = 0; i < arr.length(); i++){
    String info = arr.getJSONObject(i).getString("area") + arr.getJSONObject(i).getString("city");
    list.add(info);
}

然后只需将 List 转换为字符串数组,并使用适配器填充 ListView,如下所示:

ArrayAdapter adapter = new ArrayAdapter<String>(this,R.layout.ListView,StringArray);
ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);

【讨论】:

【解决方案2】:

独自一人

try {
        ArrayList<User> list = new ArrayList<>();
        JSONArray array = new JSONArray(url);
        for (int i = 0; i <array.length() ; i++) {
            JSONObject jsonObject = array.optJSONObject(i);
            String area = jsonObject.optString("area");
            String city = jsonObject.optString("city");
            list.add(new User(area,city));
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

}

class User {
    String area;
    String city;
    public User(String area,String city){
        this.area=area;
        this.city=city;
    }

【讨论】:

  • 非常感谢@cgx,我会试试这个
【解决方案3】:

在你的 layoutxml 文件中进行更改,在这旁边有两个文本框会起作用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多