android_ uso de listview

9
(/) Le sirvió la info de este sitio? Le interesa donar para ayudar a sostenerlo? Cocina (28) (/index.php /itemlist/category/9-cocina) Postres (14) (/index.php/itemlist /category/14-postres) Informática (0) (/index.php /itemlist/category /2-informatica) Android (52) (/index.php/itemlist /category/16-android) Bases de datos (0) (/index.php/itemlist /category/10-bases- de-datos) CouchDB (5) (/index.php/itemlist /category /7-couchdb) MySQL (3) (/index.php/itemlist /category/18-mysql) PostgreSQL (11) (/index.php/itemlist /category /11-postgresql) Hardware (8) (/index.php/itemlist /category/19-hardware) Linux (26) (/index.php /itemlist/category /3-linux) Máquinas virtuales (5) (/index.php /itemlist/category /6-maquinas- virtuales) Raid (2) (/index.php/itemlist /category/5-raid) Webmin (1) (/index.php/itemlist Valora este artículo (0 votos) Martes, 07 Enero 2014 10:08 Android: uso de ListView Escrito por Leonardo Paskvan (/index.php/itemlist/user/27- leonardopaskvan) tamaño de la fuente Imprimir (/index.php/item/129-android- uso-de-listview?tmpl=component&print=1) Email (/index.php /component/mailto/?tmpl=component&template=protostar& link=5170f141ef95cabf59d011643071e9324a1f471e) Nombre de usuario Contraseña Recordarme Iniciar sesión ¿Olvidó su contraseña? (/index.php/component /users/?view=reset) ¿Olvidó su nombre de usuario? (/index.php /component/users /?view=remind) Crear una cuenta (/index.php/component /users /?view=registration) Le sirvió la info de este sitio? Le interesa donar para ayudar a sostenerlo? Inicio (/index.php/homepage) Blog1 (/) Android apps (/index.php/android-apps) Microhumor (visor) beta (http://probando-cosas.com.ar/microhumor/azar.php) Cuál es mi ip (http://probando-cosas.com.ar/ip/) Sitios amigos (/index.php/sitios-amigos) Contacto (/index.php/contacto) Buscar Basic Girls These girls can Above Average Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-... 1 de 9 03/10/2014 12:20 a.m.

Upload: benmarca

Post on 15-Jan-2016

17 views

Category:

Documents


0 download

DESCRIPTION

manual de uso listas en android

TRANSCRIPT

Page 1: Android_ Uso de ListView

(/)

Le sirvió la info de este sitio?

Le interesa donar para ayudar a sostenerlo?

Cocina (28) (/index.php

/itemlist/category/9-cocina)

Postres (14)

(/index.php/itemlist

/category/14-postres)

Informática (0) (/index.php

/itemlist/category

/2-informatica)

Android (52)

(/index.php/itemlist

/category/16-android)

Bases de datos (0)

(/index.php/itemlist

/category/10-bases-

de-datos)

CouchDB (5)

(/index.php/itemlist

/category

/7-couchdb)

MySQL (3)

(/index.php/itemlist

/category/18-mysql)

PostgreSQL (11)

(/index.php/itemlist

/category

/11-postgresql)

Hardware (8)

(/index.php/itemlist

/category/19-hardware)

Linux (26) (/index.php

/itemlist/category

/3-linux)

Máquinas virtuales

(5) (/index.php

/itemlist/category

/6-maquinas-

virtuales)

Raid (2)

(/index.php/itemlist

/category/5-raid)

Webmin (1)

(/index.php/itemlist

Valora este artículo (0 votos)

Martes, 07 Enero 2014 10:08

Android: uso de

ListViewEscrito por Leonardo Paskvan (/index.php/itemlist/user/27-

leonardopaskvan)

tamaño de la fuente Imprimir (/index.php/item/129-android-

uso-de-listview?tmpl=component&print=1) Email (/index.php

/component/mailto/?tmpl=component&template=protostar&

link=5170f141ef95cabf59d011643071e9324a1f471e)

Nombre de usuario

Contraseña

Recordarme

Iniciar sesión

¿Olvidó su contraseña?

(/index.php/component

/users/?view=reset)

¿Olvidó su nombre de

usuario? (/index.php

/component/users

/?view=remind)

Crear una cuenta

(/index.php/component

/users

/?view=registration)

Le sirvió la info de este sitio?

Le interesa donar para

ayudar a sostenerlo?

Inicio (/index.php/homepage) Blog1 (/) Android apps (/index.php/android-apps)

Microhumor (visor) beta (http://probando-cosas.com.ar/microhumor/azar.php) Cuál es mi ip (http://probando-cosas.com.ar/ip/)

Sitios amigos (/index.php/sitios-amigos) Contacto (/index.php/contacto)

Buscar

Basic Girls

These girls can

Above Average

Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-...

1 de 9 03/10/2014 12:20 a.m.

Page 2: Android_ Uso de ListView

/category

/4-webmin)

MS Windows (3)

(/index.php/itemlist

/category/8-ms-

windows)

Oficina (3) (/index.php

/itemlist/category

/12-oficina)

Migrando a

LibreOffice (2)

(/index.php/itemlist

/category

/13-migrando-

a-libreoffice)

Pfsense (6) (/index.php

/itemlist/category

/17-pfsense)

Puertos tcp y udp (1)

(/index.php/itemlist

/category/21-puertos-

tcp-y-udp)

Varios (23) (/index.php

/itemlist/category

/15-varios)

OK ... el sitio es mío y

publico lo que quiero (6)

(/index.php/itemlist/category

/20-ok-el-sitio-es-mio-

y-publico-lo-que-quiero)

Varios (14) (/index.php

/itemlist/category/1-varios)

Todos podemos colaborar con

Missing Children

(http://www.missingchildren.org.ar/)

(/media

/k2/items/cache/8da476f72f06a276b1f930cdb28c21f1_XL.jpg)

Android: trabajando con listview

Al final de este artículo, está el link para bajar el proyecto de

ejemplo completo, exportado desde el ADT.

Usando listas en Android.

Mostrar varios elementos como una lista es un patrón bastante

común en las aplicaciones para teléfonos móviles. El usuario ve una

lista que se puede desplazar (si es necesario) e interactuar con ella.

Una representación:

Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-...

2 de 9 03/10/2014 12:20 a.m.

Page 3: Android_ Uso de ListView

Como dijimos anteriormente, es posible permitirle al usuario

interactuar con la lista. Se puede hacer esto mediante action bar, o

por ejemplo si el usuario selecciona alguno de los ítems, podemos

mostrarle un detalle de ese ítem.

Usando listas en Android.

Android provee las clases ListView y ExpandableListView , y

ambas muestran listas de ítems con capacidad de

scroll. ExpandableListView soporta el agrupado de ítems. Y estos

pueden ser de cualquier tipo.

Las listas, necesitan un modelo de datos, que se define en los

adaptadores.

Adaptadores.

Los adaptadores administran el modelo de datos y los adaptan a

cada fila de la lista.

Cada fila de la lista es en realidad un layout que lo podemos hacer

tan complejos como necesitemos. Por ejemplo, podemos mostrar

una imagen a la izquierda y dos lineas con texto a la derecha.

Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-...

3 de 9 03/10/2014 12:20 a.m.

Page 4: Android_ Uso de ListView

El archivo de este layout sería algo similar a:

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:padding="6dip" >

<ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentBottom="true" android:layout_alignParentTop="true" android:layout_marginRight="6dip" android:contentDescription="TODO" android:src="/@drawable/ic_launcher" />

<TextView android:id="@+id/secondLine" android:layout_width="fill_parent" android:layout_height="26dip" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_toRightOf="@id/icon" android:ellipsize="marquee" android:singleLine="true" android:text="Description" android:textSize="12sp" />

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@id/secondLine" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_alignWithParentIfMissing="true" android:layout_toRightOf="@id/icon" android:gravity="center_vertical" android:text="Example application" android:textSize="16sp" /></RelativeLayout>

El adaptador expandirá este layout para cada fila, usando el método

getview() y asignará los datos a cada objeto en particular.

El adaptador se asigna a la ListView mediante el método

setAdapter . El adaptador es el que se encarga de fitrar y ordenar la

lista. Para esto, necesitaremos implementar la lógica en un custom

adapter.

Adaptador por defecto.

Android por defecto nos provee algunas implementaciones. Un par

de ellas son ArrayAdapter y CursorAdapter . El primero puede

trabajar con datos basados en arrays, o en java.util.List . El

segundo está pensado para interactuar con bases de datos.

Ejemplo simple de listView.

Vamos a crear un proyecto que llamaremos listviewprueba, con SDK

mínimo 16, donde la actividad principal será MainActivity.java y el

layout correspondiente será activity_main.xml

Vamos a crear un nuevo layout que llamaremos layout_list.xml

res/layout/layout_list.xml

<ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/milistview" android:layout_width="fill_parent" android:layout_height="wrap_content" />

Seguimos con MainActivity.

package com.example.listviewprueba;

Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-...

4 de 9 03/10/2014 12:20 a.m.

Page 5: Android_ Uso de ListView

import ...

public class MainActivity extends Activity { @Override protected void onCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_lista); //Asignamos el objeto listview final ListView NuestroListView = (ListView)findViewById(R.id.milistview); //Este es nuestro array con los datos amostrar String[] valores = new String[] { "Pizza", "Panchos", "Jamón ibérico","Tallarines", "Ñoquis", "Sopa", "Sandwichs","Asado", "Milanesas", "Pan duro", "Costeletas","Ñandú", "Pescado", "Pollo a la parrilla","Agnolottis", "Ravioles", "Gallina", "Guiso decerdo", "Pastrón", "Queso", "Cordero", "Conejo","Café con leche" }; //Creamos un arraylist donde pondremos losdatos a mostrar final ArrayList<String> datosParaListView =new ArrayList<String>(); //Llenamos nuestro arraylist con los datosdel array for (int i = 0; i < valores.length; ++i) { datosParaListView.add(valores[i]); } //Creamos el adaptador, usando unStableArrayAdapter, definiendo como formato //uno de los provistos por Android:simple_list_item_1 final StableArrayAdapter adaptador = newStableArrayAdapter(this,android.R.layout.simple_list_item_1,datosParaListView); NuestroListView.setAdapter(adaptador); }

private class StableArrayAdapter extendsArrayAdapter<String> { HashMap<String, Integer> mIdMap = newHashMap<String, Integer>(); public StableArrayAdapter(Context context,int textViewResourceId, List<String> objects) { super(context, textViewResourceId,objects); for (int i = 0; i < objects.size(); ++i) { mIdMap.put(objects.get(i), i); } } }}

En este punto, si ejecutamos nuestra app:

Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-...

5 de 9 03/10/2014 12:20 a.m.

Page 6: Android_ Uso de ListView

Como no salvamos los datos en ningún lado, al producir un evento

onResume, la lista se vuelve a crear desde cero.

Ahora vamos a agregarle una equeña interacción con el usuario.

Cuando se seleccione alguno de los ítems, este se borrará de la

pantalla usando una animación.

En MainActivity, agregamos un listener al ListView, donde al

producirse el evento, se obtiene el id del ítem, y lo borramos.

...

...NuestroListView.setOnItemClickListener(newAdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?>adaptadorContenedor, final View view, int posicion,long arg3) { //Obtenemos el ítem que se seleccionó String item = (String) adaptadorContenedor.getItemAtPosition(posicion); //Creamos una animación para el obejto viewdel ítem en cuestió //que al final de la misma, se producirá elborrado del ítem view.animate().setDuration(2000).alpha(0).withEndAction(newRunnable() { @Override public void run() { //Borramos de la lista el ítem queobtuvimos anteriormente datosParaListView.remove(item); //Notificamos al adaptador quecambiaron los datos. adaptador.notifyDataSetChanged(); view.setAlpha(1); } }); }});

Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-...

6 de 9 03/10/2014 12:20 a.m.

Page 7: Android_ Uso de ListView

Visto 1453 veces

Twittear 0

...

...

Ejecutamos la aplicación, y luego de ir seleccionando varios ítems,

vemos que la lista se acorta.

El proyecto completo exportado, y la aplicación NO firmada lista

para usar, la podemos bajar desde http://www.probando-

cosas.com.ar/deposito/android/exportaciones/2014/listview1/

(http://www.probando-cosas.com.ar/deposito/android/exportaciones

/2014/listview1/)

Sugerencia: el siguiente artículo sería una continuación: Android:

ListView, implementando adaptadores propios.

(http://joomla.probando-cosas.com.ar/index.php/item/130-android-

listview-implementando-adaptadores-propios)

Modificado por última vez en Miércoles, 08 Enero

2014 12:11

Publicado en Android (/index.php/itemlist/category/16-android)

Etiquetado como android (/index.php/itemlist/tag/android)

android developer tools (/index.php/itemlist

/tag/android%20developer%20tools) ListView (/index.php/itemlist

/tag/ListView) usar ListView en android (/index.php/itemlist

Be the first of your friends to like

this.LikeLike

Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-...

7 de 9 03/10/2014 12:20 a.m.

Page 8: Android_ Uso de ListView

/tag/usar%20ListView%20en%20android)

Openvn + Pfsense: no se conectan uno o más clientes

(error:14090086:SSL ) (/index.php/item/249-openvn-pfsense-

no-se-conectan-uno-o-mas-clientes-error-14090086-ssl)

TP-LINK td-w8970 en Arnet (/index.php/item/248-tp-link-

td-w8970-en-arnet)

Android: cómo hacer un HTTP POST a PHP/MYSQL para

salvar datos en nuestra base de datos (/index.php/item/247-

android-como-hacer-un-http-post-a-php-mysql-para-salvar-

datos-en-nuestra-base-de-datos)

Tip: Linux, resolver con nmap usando IP el nombre de equipos

Windows (/index.php/item/245-tip-linux-resolver-con-nmap-

usando-ip-el-nombre-de-equipos-windows)

Configurar y probar GlusterFS distribuído en tres equipos.

(/index.php/item/244-configurar-y-probar-glusterfs-distribuido-

en-tres-equipos)

Android: cómo hacer un HTTP POST a PHP/MYSQL para

salvar datos en nuestra base de datos (/index.php/item/247-

android-como-hacer-un-http-post-a-php-mysql-para-salvar-

datos-en-nuestra-base-de-datos)

Android: Ejemplo de uso de acelerómetro y simular sensibilidad

ajustable (/index.php/item/232-android-ejemplo-de-uso-

de-acelerometro-y-simular-sensibilidad-ajustable)

Tip: android, prevenir que nuestra aplicación se suspenda

(/index.php/item/231-tip-android-prevenir-que-nuestra-

aplicacion-se-suspenda)

Android: cómo implementar un scanner de código de barras (o

QR) en nuestra app. (/index.php/item/224-android-

como-implementar-un-scanner-de-codigo-de-barras-

en-nuestra-app)

Configurar cliente Android iVMS 4500 para hikvision

ds-7208hvi-sv (/index.php/item/214-configurar-cliente-android-

ivms-4500-para-hikvision-ds-7208hvi-sv)

Más en esta categoría: « Aviso: primer app para android.

Calculadora de costo de km o milla recorridos con nuestro auto

en uso laboral (/index.php/item/128-aviso) Android:

ListView, implementando adaptadores propios. » (/index.php

/item/130-android-listview-implementando-adaptadores-

propios)

Inicia sesión para enviar comentarios

volver arriba (/index.php/item/129-android-uso-de-

listview#startOfPageId129)

Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-...

8 de 9 03/10/2014 12:20 a.m.

Page 9: Android_ Uso de ListView

Está aquí: Home (/)

Android (/index.php/itemlist/category/16-android)

Android: uso de ListView

Volver arriba© 2014 Probando cosas

Android: uso de ListView http://joomla.probando-cosas.com.ar/index.php/item/129-android-uso-de-...

9 de 9 03/10/2014 12:20 a.m.