ArrayAdapter en Android con ejemplo

El adaptador actúa como un puente entre el componente de interfaz de usuario y la fuente de datos. Convierte los datos de las fuentes de datos en elementos de vista que se pueden mostrar en el componente de la interfaz de usuario. La fuente de datos puede ser arrays, HashMap, base de datos, etc. y los componentes de la interfaz de usuario pueden ser ListView , GridView, Spinner , etc. ArrayAdapter es el adaptador más utilizado en Android. Cuando tiene una lista de elementos de un solo tipo que se almacenan en una array, puede usar ArrayAdapter. De la misma forma, si tienes una lista de números de teléfono, nombres o ciudades. ArrayAdapter tiene un diseño con un único TextView . Si desea tener un diseño más complejo en lugar de ArrayAdapter, use CustomArrayAdapter . La sintaxis básica para ArrayAdapter se da como:

ArrayAdapter público (contexto de contexto, recurso int, int textViewResourceId, objetos T [])

Parámetros

Parámetros

Descripción

contexto El contexto actual. Este valor no puede ser nulo.
recurso El ID de recurso para el archivo de diseño que contiene un diseño para usar al crear instancias de vistas.
textViewResourceId La identificación de TextView dentro del recurso de diseño que se completará.
objetos Los objetos a representar en ListView. Este valor no puede ser nulo.

contexto: Se utiliza para pasar la referencia de la clase actual. Aquí, la palabra clave ‘esta’ se usa para pasar la referencia de clase actual. En lugar de ‘esto’, también podríamos usar el método getApplicationContext() que se usa para la actividad y el método getApplication() que se usa para los fragmentos.

public ArrayAdapter(this, int resource, int textViewResourceId, T[] objetos)

recurso: se utiliza para configurar el archivo de diseño (archivos .xml) para los elementos de la lista.

ArrayAdapter público (esto, R.layout.itemListView, int textViewResourceId, T[] objetos)

textViewResourceId: se utiliza para configurar TextView donde desea mostrar los datos de texto.

ArrayAdapter público (esto, R.layout.itemListView, R.id.itemTextView, T[] objetos)

objetos: estos son el objeto de array que se utiliza para establecer el elemento de array en TextView.

String CourseList[] = {“Programación C”, “Estructura de datos”, “Base de datos”, “Python”,

                      «Java», «Sistema operativo», «Diseño del compilador», «Desarrollo de Android»};

ArrayAdapter arrayAdapter = new ArrayAdapter(this, R.layout.itemListView, R.id.itemTextView, CourseList[]);

Ejemplo

En este ejemplo, la lista de cursos se muestra utilizando un adaptador de array simple. idioma.

Paso 1: Crear un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.

Paso 2: trabajar con el archivo activity_main.xml

Vaya a la carpeta de diseño y en el archivo activity_main.xml cambie ConstraintLayout a RelativeLayout e inserte un ListView con id simpleListView. actividad_principal.xml

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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
    <ListView
        android:id="@+id/simpleListView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
  
</RelativeLayout>

Paso 3: crea un nuevo archivo de diseño

Vaya a app > res > layout > haga clic con el botón derecho en > New > Layout Resource File y cree un nuevo archivo de diseño y nombre este archivo como item_view.xml y haga que el elemento raíz sea LinearLayout . Esto contendrá un TextView que se usa para mostrar los objetos de la array como salida.

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
  
    <TextView
        android:id="@+id/itemTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />
  
</LinearLayout>

Paso 4: trabajar con el archivo MainActivity.java

Ahora vaya a la carpeta java y en MainActivity.java y proporcione la implementación a ArrayAdapter. MainActivity.java

Java

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
  
    ListView simpleListView;
      
    // array objects
    String courseList[] = {"C-Programming", "Data Structure", "Database", "Python",
                            "Java", "Operating System", "Compiler Design", "Android Development"};
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        simpleListView = (ListView) findViewById(R.id.simpleListView);
          
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
                R.layout.item_view, R.id.itemTextView, courseList);
        simpleListView.setAdapter(arrayAdapter);
    }
}

Salida: ejecutar en el emulador

Output

Publicación traducida automáticamente

Artículo escrito por ankur035 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 *