2012-04-09 2 views
0

Я пытаюсь пройти через JSONObject, чтобы узнать, сколько там пассажиров, и затем я хочу хорошо их отобразить в диалоговом окне. Похоже, есть несколько способов сделать это, но в целом я просто смущен тем, как это сделать. Это самое близкое, что я получил, оно работает, но, как вы видите, я добавляю только один элемент. Таким образом, в моем alertdialog отображается только один элемент, и еще пара должна быть еще. Мой alertdialog (называемый ticketbuilder) создается где-то еще, я просто пытаюсь добавить все в цикл for. Как добавить всех моих пассажиров в список для отображения? Спасибо за тонну заранее!Добавление неизвестного количества элементов в список в диалоговом окне для моего приложения для Android

for (int i = 0; i < tickets.length(); i++) { 

     final int ticketCount = i; 
     JSONObject ticket; 
     try { 
      ticket = tickets.getJSONObject(ticketCount); 
      passengername = ticket.getString("passengername"); 
      ticketnumber = ticket.getString("ticketnumber"); 
      CharSequence[] array = {passengername + " \n" + ticketnumber}; 
      ticketBuilder.setItems(array, null); //adding to my dialog 

     } catch (JSONException e) { 
      System.out.println(e); 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
} 
+0

В вашем JSONObject содержится массив объектов, имеющих поля passengername и ticketnumber? – Shubhayu

ответ

1

Попробуйте поставить CharSequence вне цикла и инициализировать его следующим образом:

CharSequence[] array = new CharSequence[tickets.length()]; 

Затем в цикле добавить вещь в массив:

array[i] = {passengername + " \n" + ticketnumber}; 

Move ticketBuilder.setItems так это после, вне цикла.

+0

Спасибо за помощь приятеля, он говорит мне, что константы Array могут использоваться только в инициализаторах. – JMarsh

+0

'new CharSequence [tickets.length()];' не 'CharSequence (tickets.length());' user '[' квадратные скобки не '(' круглые скобки – slayton

Смежные вопросы