Adaptadores en android: ArrayAdapter
Un adaptador nos permite establecer una conexión entre nuestros datos y nuestra vista, en este ejemplo usaremos un Adaptador simple y uno personalizado para mostrar una lista de datos y modificaros desde el Adapter.
Para esto debemos de tener una fuente de datos, en este caso es la clase llamada Compras.java la cual contiene lo siguiente:
public class Compras { //vamos a tener 3 variables private int id; private String product; private boolean isBuy; //nuestro objeto contendra los datos public Compras(int id, String product, boolean isBuy){ //asignamos las variables al objeto this.id=id; this.product=product; this.isBuy=isBuy; } //método que regresa el id del producto public int getId() { return id; } //método que regresa el nombre del producto public String getProduct() { return product; } //método que regresa si esta comprado o no public boolean isBuy() { return isBuy; } //importante para obtener los datos en modo de texto public String toString(){ return product; } //arreglo con los objetos public static ArrayListgetStudents(){ ArrayList compras =new ArrayList<>(); compras.add(new Compras(1,"Huevo",true)); compras.add(new Compras(2,"Leche",true)); compras.add(new Compras(3,"Cafe",false)); compras.add(new Compras(4,"Cereal",true)); return compras; } }
Después debemos de crear una vista que es la forma en que los productos se van a mostrar, en este caso solo se usara un TextView dentro de un LinearLayout.
<?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Esta es la vista que van a tener los item en la lista --> <TextView android:id="@+id/txt_items" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" android:textSize="28sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" /> </LinearLayout>Luego en el ActivityMain agregamos el Adaptador en cual es un adaptador simple.
// este es un adaptador simple en cual recibe una actividad con this, luego la vista, luego el textview donde se mostrara el objeto //Por ultimo colocar la lista de estudiantes o de datos la cual la obtenemos de la clase Compras ArrayAdapteradapter=new ArrayAdapter (this, R.layout.items_adapter, R.id.txt_items, Compras.getStudents()); //llamamos al ListView que creamos ListView listView= (ListView) findViewById(R.id.ListViewItems); //le asignamos el adaptador de los datos listView.setAdapter(adapter);
Comentarios
Publicar un comentario