5 - Android Listas Sencillas

6
PROGRAMACIÓN DE APPS – ANDROID (NATIVO) CREACIÓN DE LISTAS Vamos a realizar como primer ejercicio, la creación de una lista sencilla, que nos servirá para poder realizar la lista de las películas en nuestro ejemplo. Para ello vamos a utilizar un objeto adaptador, que nos servirá para enlazar un AdapterView y los datos de la lista que queremos mostrar en la pantalla. Por tanto, un adaptador es una colección de datos, a la que le asignamos una vista para que se pueda mostrar por pantalla. El primer paso es crearnos el layout del tipo LinearLayout para esta lista. Como va a ser una lista, vamos a utilizar un ListView que tiene un android:id="@android:id/list" y un TextView que tiene el id android:id="@android:id/empty <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@android:id/list" /> <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@android:id/empty" /> </LinearLayout> Ahora tenemos que modificar la actividad que hace referencia a este layout, y tenemos que declararnos un array con los elementos que queremos mostrar, y declarar el adaptador de esos elementos, para finalmente asociarlo a la lista que tiene el id list

description

listas

Transcript of 5 - Android Listas Sencillas

  • PROGRAMACIN DE APPS ANDROID (NATIVO) CREACIN DE LISTAS

    Vamos a realizar como primer ejercicio, la creacin de una lista sencilla, que nos

    servir para poder realizar la lista de las pelculas en nuestro ejemplo. Para ello vamos a

    utilizar un objeto adaptador, que nos servir para enlazar un AdapterView y los datos de la

    lista que queremos mostrar en la pantalla. Por tanto, un adaptador es una coleccin de

    datos, a la que le asignamos una vista para que se pueda mostrar por pantalla.

    El primer paso es crearnos el layout del tipo LinearLayout para esta lista. Como va a

    ser una lista, vamos a utilizar un ListView que tiene un android:id="@android:id/list" y un

    TextView que tiene el id android:id="@android:id/empty

    Ahora tenemos que modificar la actividad que hace referencia a este layout, y

    tenemos que declararnos un array con los elementos que queremos mostrar, y declarar el

    adaptador de esos elementos, para finalmente asociarlo a la lista que tiene el id list

  • package com.example.prueba;

    import android.app.Activity;

    import android.os.Bundle;

    import android.widget.ArrayAdapter;

    import android.widget.ListAdapter;

    import android.widget.ListView;

    public class Principal extends Activity {

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_principal);

    //Creacin del vector con los elementos a mostrar

    String[] array = new String[] {

    "Primero",

    "Segundo",

    "Tercero",

    "Cuarto"};

    //Creacin del Adaptador con una vista por defecto suministrada por android

    ListAdapter adaptador = new ArrayAdapter(this,android.R.layout.simple_list_item_1, array);

    //Seleccionamos donde iran los elementos con findViewById y lanzamos el adaptador

    ListView lv = (ListView) findViewById(android.R.id.list);

    lv.setAdapter(adaptador);

    }

    }

  • Ilustracin 1 - Vista del Emulador

    Compilamos, y ejecutamos la aplicacin en un emulador o en dispositivo fsico y vemos

    como efectivamente estos elementos se muestran en la pantalla.

    LISTA CLICKABLE

    Para poder comprobar que las listas se han creado con xito, y poder escuchar lo

    que contiene cada uno de los elementos, vamos a utilizar la funcin onListItemClick, que

    viene por defecto, pero le vamos a hacer un override (o reescritura) haciendo uso de la

    librera Toast, que nos proporciona la posibilidad de mostrar una alerta por pantalla.

    Adems vamos a decir que nuestra actividad es una extensin de ListActivity.

    En siguiente cdigo muestra cmo hacer esto (hemos resaltado las modificaciones

    realizadas):

    package com.example.prueba;

    //import android.app.Activity;

    import android.app.ListActivity;

    import android.os.Bundle;

    import android.view.View;

    import android.widget.ArrayAdapter;

  • import android.widget.ListAdapter;

    import android.widget.ListView;

    import android.widget.Toast;

    public class Principal extends ListActivity {

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_principal);

    String[] array = new String[] {

    "Primero",

    "Segundo",

    "Tercero",

    "Cuarto"};

    ListAdapter adaptador = new ArrayAdapter(this, android.R.layout.simple_list_item_1, array);

    ListView lv = (ListView) findViewById(android.R.id.list);

    lv.setAdapter(adaptador);

    }

    //Funcion que muestra por pantalla el mensaje teniendo en cuenta la posicion

    @Override

    protected void onListItemClick(ListView l, View v, int position, long id) {

    super.onListItemClick(l, v, position, id);

    Toast.makeText(

    Principal.this,

    l.getItemAtPosition(position).toString(),

    Toast.LENGTH_LONG)

    .show();

    }

    }

    Tras compilar nuevamente, comprobamos como en este caso se nos est mostrando el valor

    que tiene el elemento pulsado en la lista

  • Ilustracin 2 - Vista con funcin Toast

    ANEXO NOTIFICACIONES EN ANDROID TOAST

    En Android existen diferentes formas de mostrar mensajes por pantalla, pero

    posiblemente Toast sea la forma ms sencilla que existe.

    Un Toast es un mensaje que se muestra en pantalla durante unos segundos y que

    desaparece sin necesidad de hacer nada ms y sin interferir en las acciones del usuario.

    Aunque se pueden configurar, por defecto aparecen en la parte inferior de la pantalla como

    hemos visto en nuestra aplicacin. La clase toast dispone de un mtodo esttico maketext()

    al que le debemos de pasar por parmetro el contexto de la actividad, el texto a mostrar, y

    la duracin del mensaje, que puede tomar los valores LENGTH_LONG o LENGTH_SHORT

    dependiendo del tiempo que queramos mostrarlo. Para mostrarlo, simplemente tenemos

    que ejecutar el mtodo show().

    Para poder personalizar la ubicacin en pantalla utilizaremos el mtodo setGravity(),

    al que podremos indicar en qu zona deseamos que aparezca. La zona deberemos indicarla

  • con alguna de las constantes definidas en la clase Gravity, que podremos combinar a

    nuestro gusto.

    Si queremos realizar una personalizacin total podemos crearnos un layout especial

    para el toast que llamaremos toast_layout.xml y lo colocaremos en la carpeta normal del

    resto de los layouts. Para poder asignar este layout a nuestro Toast tendremos que inflar el

    layout mediante LayoutInflater y definir propiedades como el setDuration(). En la

    documentacin oficial tienes ms detalles sobre cmo realizar nuestro toast a la carta.

    ProGRAMACIN DE APPS ANDROID (NATIVO) creacin de listaslista clickableanexo notificaciones en android toast