¿Alguien puede explicar o sugerir un tutorial para crear una vista de lista en Android?
Aquí están mis requisitos:
- Debería poder agregar dinámicamente nuevos elementos presionando un botón.
- Debería ser lo suficientemente simple de entender (posiblemente sin mejoras de rendimiento o convertview, por ejemplo)
Sé que hay bastantes preguntas sobre este tema, publicadas aquí en StackOverflow, pero no pude encontrar ninguna que respondiera a mi pregunta. ¡Gracias!
Respuestas:
Cree un diseño XML primero en la
res/layout/main.xml
carpeta de su proyecto :Este es un diseño simple con un botón en la parte superior y una vista de lista en la parte inferior. Tenga en cuenta que la
ListView
tiene el identificador@android:id/list
que define el valor por defectoListView
unaListActivity
puede utilizar.android.R.layout.simple_list_item_1
es el diseño de elemento de lista predeterminado proporcionado por Android, y puede usar este diseño de stock para cosas no complejas.listItems
es una lista que contiene los datos que se muestran en ListView. Toda la inserción y extracción debe hacerse enlistItems
; los cambios enlistItems
deberían reflejarse en la vista. Eso es manejado porArrayAdapter<String> adapter
, lo que debe notificarse usando:adapter.notifyDataSetChanged();
Un adaptador se instancia con 3 parámetros: el contexto, que podría ser su
activity/listactivity
; el diseño de su elemento de lista individual; y, por último, la lista, que son los datos reales que se mostrarán en la lista.fuente
ListActivity is an activity that includes a ListView as its only layout element by default. [...] (it) hosts a ListView object
. Entonces, por defecto, los métodos (como setAdapter , etc.) están "dentro" de la Clase.en vez de
puedes llamar directamente
fuente
Primero, debe agregar un ListView, un EditText y un botón en su activity_main.xml.
Ahora, en su ActivityMain:
Esto funciona para mí, espero haberte ayudado
fuente
Si desea tener ListView en una AppCompatActivity en lugar de ListActivity, puede hacer lo siguiente (Modificar la respuesta de @ Shardul):
Y en tu diseño en lugar de usar
android:id="@android:id/list"
puedes usarandroid:id="@+id/listDemo"
Así que ahora puedes tener un
ListView
interior normalAppCompatActivity
.fuente
Código para el archivo MainActivity.java.
Código para el archivo de diseño activity_main.xml.
Captura de pantalla
fuente
La respuesta corta: cuando crea un ListView, le pasa una referencia a los datos. Ahora, cada vez que se modifiquen estos datos, afectará la vista de lista y, por lo tanto, agregará el elemento, después de que llame a adapter.notifyDataSetChanged () ;.
Si está utilizando un RecyclerView, actualice solo el último elemento (si lo ha agregado al final de la lista de objs) para guardar memoria con: mAdapter.notifyItemInserted (mItems.size () - 1);
fuente
Esta es la respuesta simple sobre cómo agregar datos dinámicamente en la vista de lista de Android Kotlin
Aquí acabo de explicar dos maneras, podemos hacer esto de muchas maneras.
fuente