Android ListView es un ViewGroup que se utiliza para mostrar la lista de elementos en varias filas y contiene un adaptador que inserta automáticamente los elementos en la lista.
El objetivo principal del adaptador es obtener datos de una array o base de datos e insertar cada elemento que se colocó en la lista para obtener el resultado deseado. Por lo tanto, es la fuente principal para extraer datos del archivo strings.xml que contiene todas las strings requeridas en archivos Kotlin o xml.
Adaptador Android
El adaptador contiene los datos extraídos de una array e itera a través de cada elemento del conjunto de datos y genera las vistas respectivas para cada elemento de la lista. Entonces, podemos decir que actúa como un intermediario entre las fuentes de datos y las vistas del adaptador, como ListView, Gridview.
Diferentes tipos de adaptadores:
- ArrayAdapter: Siempre acepta un Array o List como entrada. También podemos almacenar los elementos de la lista en el archivo strings.xml.
- CursorAdapter: siempre acepta una instancia de cursor como medio de entrada
- SimpleAdapter: Acepta principalmente datos estáticos definidos en los recursos como array o base de datos.
- BaseAdapter: es una implementación genérica para los tres tipos de adaptadores y se puede usar en las vistas según nuestros requisitos.
Ahora, vamos a crear una aplicación de Android llamada ListViewInKotlin usando un adaptador de array. Abra un archivo activity_main.xml desde \res\layout path y escriba el código como se muestra a continuación.
archivo actividad_principal.xml
En este archivo, declaramos LisitView dentro de LinearLayout y establecemos sus atributos. Posteriormente, accederemos al archivo ListView en Kotlin usando el id.
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ListView android:id="@+id/userlist" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout>
MainActivity.kt
Cuando hayamos creado el diseño, debemos cargar el recurso de diseño XML desde nuestro método de devolución de llamada onCreate() de actividad y acceder al elemento de la interfaz de usuario desde el XML usando findViewById .
Kotlin
import android.widget.ArrayAdapter import android.widget.ListView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // use arrayadapter and define an array val arrayAdapter: ArrayAdapter<*> val users = arrayOf( "Virat Kohli", "Rohit Sharma", "Steve Smith", "Kane Williamson", "Ross Taylor" ) // access the listView from xml file var mListView = findViewById<ListView>(R.id.userlist) arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, users) mListView.adapter = arrayAdapter } }
Archivo AndroidManifest.xml
XML
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:dist="http://schemas.android.com/apk/distribution" package="com.geeksforgeeks.myfirstkotlinapp"> <dist:module dist:instant="true" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Salida de vista de lista:
Necesitamos ejecutar usando el dispositivo virtual de Android (AVD) para ver el resultado.
Publicación traducida automáticamente
Artículo escrito por Praveenruhil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA