У меня есть JSONArray, и я хочу добавить все объекты в списокView как часть домашней работы в школе.Почему listView неправильно отображает мои объекты?
Как я получил код прямо сейчас, ListView является отображающим ссылкой на объект, но не Струны:
Я получил код в GitHub:
https://github.com/tomasfly/ejercicioFinalLottery
У меня есть создал 3 пакета (модель, представление, контроллер), и в моей mainActivy у меня есть класс, который простирается от AsyncTask и имеет следующий метод onPostExecute():
protected void onPostExecute(String s) {
if(s == null) {
responseText.setText("Error en la solicitud http");
}
else {
try {
String jsonInterpretado = "";
JSONArray jsonArray = new JSONArray(s);
//jsonInterpretado = jsonArray.toString();
//jsontxt.setText(jsonInterpretado);
int largoJson = jsonArray.length();
String largoArray=Integer.toString(largoJson);
Log.d(TAG, "la cantidad de objetos en el array es de" + largoArray);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject json_object = jsonArray.getJSONObject(i);
Jugadas jugadas = new Jugadas();
jugadas.setDraw_date(json_object.optString("draw_date"));
//Log.d(TAG, "draw date" + i + jugadas.getDraw_date());
jugadas.setWinnin_numbers(json_object.optString("winning_numbers"));
jugadas.setMultiplier(json_object.optString("multiplier"));
arrayOfData.add(jugadas);
/* String drawdate = json_object.optString("draw_date");
String numbers = json_object.optString("winning_numbers");
String multiplier = json_object.optString("multiplier");*/
}
responseText.setText("Conexion OK");
lv.setAdapter(adapter);
//Log.d(TAG, arrayOfData.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
Я думаю, что код от вашего адаптера более важен в этом случае –
Он не использует пользовательский адаптер. он переходит в список объектов, так что сообщение вверху имеет смысл. –
как вы создали объект адаптера и как вы устанавливаете значения в listview, создание объекта пост-адаптера. – Hanuman