2010-06-21 11 views
6

Tengo un problema, quiero mostrar 20 elementos en la lista. Pero hay una trampa: si el usuario se desplaza hasta el final de la lista, habrá un elemento que dice: "Mostrar más elementos", y cuando los usuarios hagan clic en él, se agregarán más elementos a la lista.Android: ListView, Último artículo - Mostrar más

Mi pregunta es ¿cómo es poosible tener un último elemento, que tiene un estilo diferente y se ve diferente: y hace cosas diferentes, (creo que esto es usado en QuickSearchbox)

Respuesta

4

le recomiendo que commonsware 's cwac-endless.

CWAC-infinitas: Proporciona la EndlessAdapter , un envoltorio para un ListAdapter existente que añade "sin fin" capacidad. Cuando los usuario se desplaza a la parte inferior de la lista , si hay más datos para esta lista para que sea recuperado, el código obtiene invoca en un subproceso de fondo para buscar a los nuevos filas, que a continuación, obtener unida a la perfección a la abajo de la lista.

+0

Muchas gracias por la respuesta, ¿tiene alguna muestra, o cualquier página que pueda ayudarme, – Troj

+2

WTF? Macarse ya le dio el enlace al ejemplo: http://github.com/commonsguy/cwac-endless ¿qué más podría necesitar? – Cristian

+0

Sería mucho mejor describir alguna solución posible en un fragmento de código en lugar de enviar a alguien a una solución preparada. No todos quieren implementar algunas soluciones listas que pueden ser pesadas o con licencia. – Yar

0

En el diseño debajo de la vista de lista, puede colocar un diseño lineal con los botones "Limpiar" y "Obtener más resultados". No es exactamente lo que estás preguntando, pero puede lograr el mismo resultado.

1

Mientras que el commonware tiene algunas cosas increíbles. Su lib interminable puede no ser lo que quieres. Lo que probablemente quieras es un pie de página. En su ListView, antes de configurar su adaptador, llame a addFooterView. Tenga en cuenta que si lo hace, el adaptador que obtenga de ListView.getAdapter no será el mismo que pasó a ListView.setAdapter.

Editar Hablando de commonware, vende algunos libros en su sitio. Comprarlos. Son los mejores $ 40 que gastará en su educación de Android.

+0

gracias, por lo que sugiere que debería usar un pie de página, ¿tiene algún ejemplo sobre esto también? – Troj

+1

Claro. Hablan de ello y muestran un ejemplo en la charla de Google I/O 2010 en ListView: http://code.google.com/events/io/2010/sessions/world-of-listview-android.html –

+0

Si no No quiero ver el video (aunque deberías), el ejemplo está en el PDF. –

6

Si aún desea un elemento en el que se puede hacer clic en lugar de una lista de desplazamiento infinito, puede intentar usar ListView#addFooterView para agregar su elemento "Mostrar más elementos". Esto le permite agregar una vista como el último elemento en una lista. Asegúrese de llamarlo antes de llamando al setAdapter.

+0

muchas gracias, ¿sabes cómo puedo agregar al pie de página un clicklistner. – Troj

+0

addFooterView toma una vista. simplemente configure onClickListener en esa vista. –