ListView es un widget de interfaz de usuario en Android que se utiliza en la mayoría de las aplicaciones de Android. Podemos mostrar la lista de datos usando la vista de lista. Podemos agregar o eliminar dinámicamente elementos de la vista de lista realizando algunas operaciones de la lista. En este artículo, veremos cómo agregar elementos a un ListView en Android de forma dinámica. A continuación se muestra un video de muestra para tener una idea de lo que haremos en este artículo.
Nota : este artículo de Android cubre los lenguajes Java y Kotlin .
Implementación paso a paso
Paso 1: crea un nuevo proyecto en Android Studio
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio .
Paso 2: trabajar con el archivo activity_main.xml
Vaya a aplicación > res > diseño > actividad_principal.xml y agregue el código a continuación. Se agregan comentarios en el código para conocer en detalle.
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/idRLContainer" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <!--on below line we are creating edit text for adding a new item to list--> <EditText android:id="@+id/idEdtItemName" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="4dp" android:layout_toLeftOf="@id/idBtnAdd" android:hint="Enter item name to add in ist" /> <!--button for adding item from edit text to list--> <Button android:id="@+id/idBtnAdd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_margin="4dp" android:text="Add" android:textAllCaps="false" /> <!--list view to display list of languages--> <ListView android:id="@+id/idLVLanguages" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/idEdtItemName" /> </RelativeLayout>
Paso 3: trabajar con el archivo MainActivity
Vaya a aplicación > java > nombre del paquete de su aplicación > archivo MainActivity y agréguele el siguiente código. Se agregan comentarios en el código para conocer en detalle.
Kotlin
package com.gtappdevelopers.kotlingfgproject import android.os.Bundle import android.widget.ArrayAdapter import android.widget.Button import android.widget.EditText import android.widget.ListView import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { // on below line we are creating a variable. lateinit var languageLV: ListView lateinit var addBtn: Button lateinit var itemEdt: EditText lateinit var lngList: ArrayList<String> override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // on below line we are initializing our variables. languageLV = findViewById(R.id.idLVLanguages) addBtn = findViewById(R.id.idBtnAdd) itemEdt = findViewById(R.id.idEdtItemName) lngList = ArrayList() // on below line we are adding items to our list lngList.add("C++") lngList.add("Python") // on below line we are initializing adapter for our list view. val adapter: ArrayAdapter<String?> = ArrayAdapter<String?>( this@MainActivity, android.R.layout.simple_list_item_1, lngList as List<String?> ) // on below line we are setting adapter for our list view. languageLV.adapter = adapter // on below line we are adding click listener for our button. addBtn.setOnClickListener { // on below line we are getting text from edit text val item = itemEdt.text.toString() // on below line we are checking if item is not empty if (item.isNotEmpty()) { // on below line we are adding item to our list. lngList.add(item) // on below line we are notifying adapter // that data in list is updated to update our list view. adapter.notifyDataSetChanged() } } } }
Java
package com.gtappdevelopers.kotlingfgproject; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import androidx.appcompat.app.AppCompatActivity; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { // on below line we are creating variables. private ListView languageLV; private Button addBtn; private EditText itemEdt; private ArrayList<String> lngList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // on below line we are initializing our variables. languageLV = findViewById(R.id.idLVLanguages); addBtn = findViewById(R.id.idBtnAdd); itemEdt = findViewById(R.id.idEdtItemName); lngList = new ArrayList<>(); // on below line we are adding items to our list lngList.add("C++"); lngList.add("Python"); // on the below line we are initializing the adapter for our list view. ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, lngList); // on below line we are setting adapter for our list view. languageLV.setAdapter(adapter); // on below line we are adding click listener for our button. addBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // on below line we are getting text from edit text String item = itemEdt.getText().toString(); // on below line we are checking if item is not empty if (!item.isEmpty()) { // on below line we are adding item to our list. lngList.add(item); // on below line we are notifying adapter // that data in list is updated to // update our list view. adapter.notifyDataSetChanged(); } } }); } }
Ahora ejecute su aplicación para ver el resultado.
Producción:
Publicación traducida automáticamente
Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA