Android ListView en Kotlin

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *