列出从json数组到listview的动态内容

时间:2013-03-11 09:08:44

标签: android json listview

我的情况如下: 在我向其发送哈希后,我从服务器上的php脚本获得了一个JSON-Array作为响应。 JSON-Array有两种可能的形式。如果哈希无效,则第一个就像{"status":0}一样。第二种形式,当哈希值有效时,它会有约会 - >就像{"appointmentName":"Meeting","date":"2013-03-15","startTime":"10:00:00","endTime":"12:10:00","status":2}

JSON-Array可以填充多个约会。 见下文:

{
    "appointmentName": "Proposal",
    "date": "2013-11-11",
    "startTime": "09:00:00",
    "endTime": "13:00:00",
    "status": 2
}
{
    "appointmentName": "Meeting",
    "date": "2013-03-15",
    "startTime": "10:00:00",
    "endTime": "12:10:00",
    "status": 2
}

我想在android-app上的ListView中列出这些约会。

我处理JSON-Array的方法:

public void handleActivationResult(String result) {     
    try {           
            JSONObject jsonObject = new JSONObject(new String(result));         
            String statusCode = jsonObject.getString("status");

            TextView mainView = (TextView) findViewById(R.id.textView1);

            if (statusCode.equals("2")) {
                    //fill listview with appointments
            } else if (statusCode.equals(0)) {
                //empty string sent to server
            } else if (statusCode.equals(5)) {
                //hash doesnt match
            } else if (statusCode.equals(6)) {
                //correct hash, but no upcoming appointments
            } else {
                //unknown error
            }
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

我的ListView还不是特别的东西:

<ListView
    android:id="@+id/appointmentsList"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" >
</ListView>

如何处理handleActivationResult()方法将使用约会填充列表?

1 个答案:

答案 0 :(得分:0)

检查json字符串是否为"status":0,如果没有将数据设置为适配器。

当你从服务器得到响应时,在创建json对象之前检查string.wheather它包含"status" 0"如果包含显示错误字符串。你没有在json中提到成功响应的状态。

如果您在解析实际数据之前获得"success":2,则解析状态并采取相应行动。