Показывать данные в ListView с базы данных

Я декодирую response в JSON, и хочу показать эти данные в одном ListView, как я могу делать это задание?. Я оставляю им мое продвижение.

public void onResponse(String response) {

                    System.out.println("INFORMACIÓN OBTENIDA DE LA BASE DE DATOS:");
                    //Crear un Objeto JSON a partir del string response
                    Object jsonObject = JSONValue.parse(response.toString());
                    //Convertir el objeto JSON en un array
                    JSONArray array = (JSONArray) jsonObject;

                    ArrayList<Usuarios> list = new ArrayList();

                    List<String> al = new ArrayList<String>();

                    //Iterar el array y extraer la información
                    for (int i = 0; i < array.size(); i++) {
                        JSONObject row = (JSONObject) array.get(i);
                        String nombre = row.get("usuario").toString();
                        String conexion= row.get("conexion").toString();
                        System.out.println("Usuario: " + nombre + " || 
                        Conexion: " + conexion);

                        al.add(nombre);
                        al.add(conexion);
                    }
                    ListView d = (ListView) findViewById(R.id.listView);
                }
0
задан 16.01.2017, 18:58
0 ответов

Имея твои данные в одном ArrayList:

 List<String> al = new ArrayList<String>();

и имея инстанцию ListView, ты можешь наполнять твой ListView сначала создавая Adapter с полученными данными:

//Crea Adapter.
ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(this,  android.R.layout.simple_list_item_1, al);  

и позже конфигурировать этот Adapter в твой ListView,

  //Configura Adapter al ListView.  
  d.setAdapter(listAdapter);  

я добавляю код:

   ...
   ...
  //Iterar el array y extraer la información
                for (int i = 0; i < array.size(); i++) {
                    JSONObject row = (JSONObject) array.get(i);
                    String nombre = row.get("usuario").toString();
                    String conexion= row.get("conexion").toString();
                    System.out.println("Usuario: " + nombre + " || 
                    Conexion: " + conexion);

                    al.add(nombre);
                    al.add(conexion);
                }
                ListView d = (ListView) findViewById(R.id.listView);

              //Crea Adapter con datos obtenidos.
              ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(this,  android.R.layout.simple_list_item_1, al);  

              //Configura Adapter al ListView.  
               d.setAdapter(listAdapter);   

Я рекомендую тебе, что вместо того, чтобы иметь nombre и conexion в различной ячейке смоги добавлять 2 в той же самой:

//al.add(nombre);
//al.add(conexion);
al.add(nombre + " " + conexion);

Я добавляю статью, которая содержит пример Пример Андроид Листвьев

introducir la descripción de la imagen aquí

2
ответ дан 03.12.2019, 17:40

Будучи list список, который ты хочешь, чтобы он появился в ListView:

.
.
.
ListView d = (ListView) findViewById(R.id.listView);
ArrayAdapter<String> itemsAdapter =
                new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list.toArray(new String[0]));
d.setAdapter(itemsAdapter);
1
ответ дан 03.12.2019, 17:40

Теги

Похожие вопросы