2013-03-11 2 views
0

моя ситуация следующая: Я получаю JSON-Array в качестве ответа от php-скрипта на сервере после того, как я отправил ему хэш. Существует два возможных типа JSON-массива. Если хэш недействителен, первый будет таким же, как {"status":0}. Вторая формация, когда хэш действителен, у нее были бы встречи в ней -> было бы как {"appointmentName":"Meeting","date":"2013-03-15","startTime":"10:00:00","endTime":"12:10:00","status":2}., перечисляющий динамический контент из массива json в listview

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 
} 

Я хочу перечислить эти назначения в ListView на андроид-приложение.

Мой метод, который обрабатывает в JSON-массив:

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() заполнит список с назначением?

+2

Недопустимый массив JSON для нескольких назначений. проверьте его, используя http://jsonlint.com/ –

+0

Также, чтобы заполнить ListView с помощью JSON, посмотрите следующее сообщение: http://stackoverflow.com/a/8113337/782609 – kamituel

+0

Спасибо за ответ. Я пытаюсь использовать JSONAdapter, но проблема здесь в том, что я не знаю, как использовать его специально в моей ситуации на моем JSONObject. Итак, другая часть, мне нужно изменить вывод встреч из моего php-скрипта? – amoht

ответ

0

Проверьте, что строка json состоит из "status":0, если не заданы данные адаптеру.

Когда вы получаете ответ от сервера, перед созданием проверки объекта json для string.wheather он содержит "status" 0", если содержит строку отображения ошибки. Поскольку вы не указали статус ответа на успех в json.

Если вы получаете "success":2, то перед анализом фактических данных, проанализируйте и выполните соответствующие действия.

+0

ye, его почти то, что я хочу сделать. Если статус равен 2, есть встречи, которые я хочу заполнить в списке. Извините за мою грамматику x) – amoht