|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
|
Herramientas |
#1
|
||||
|
||||
Custom Views y Adapters
Buenos días a todos.
A ver si me pueden guiar/ayudar. Estoy empezando con android desde hacer relativamente poco, y tras leerme y seguir la inicializacion del portal oficial de android developers, he empezado a desarrollar una pequeña aplicación. La idea es tener una pantalla en portrait, con una lista de elementos cuadrados seleccionables. Para ello cree una Avtivity cuyo layout es un GridView de 2 columnas. Cada item que queiro mostrar debe tener un fondo de color solido, un texto y una imagen/icono asociado. Por este motivo me cree una CustomView (siguiendo más o menos lo que aquí se dice http : //developer.android.com/training/custom-views/index.html). cree el res/values/item.xml con los declare-styleable. El problema viene cuando intento generar un conjunto de mi CustomView para rellenar mi GridView en mi Avtivity principal, pues no se como meterlos programaticamente ya que el constructor de la CustomView nequiere un attributeSet con los atributos que defini en res/values/item.xml. Tampoco sé si me estoy complicando la vida y esto se debería hacer de otra forma, o si no es necesario crear una vista... no sé. Alguien me puede ayudar?? muchas gracias |
|
#2
|
||||
|
||||
Lo más sencillo es inflar el Layout que te interesa en cada uno de los items del GridView en el método getView del Adapter. No necesitas crear una clase explícita para eso.
Y en el caso de necesitar que los items sean de tipo CustomView por narices, siempre puedes crear un nuevo Layout que contenga a un CustomView, y ese es el Layout que inflas en el getView. |
Gracias de parte de: | ||
#3
|
||||
|
||||
Lo más sencillo es inflar el Layout que te interesa en cada uno de los items del GridView en el método getView del Adapter. No necesitas crear una clase explícita para eso.
Y en el caso de necesitar que los items sean de tipo CustomView por narices, siempre puedes crear un nuevo Layout que contenga a un CustomView, y ese es el Layout que inflas en el getView.
__________________
Aprende a desarrollar tus aplicaciones Android en LiME Creative Labs
Tutoriales paso a paso para que consigas hacer Apps de la mejor calidad. |
Gracias de parte de: | ||
#4
|
||||
|
||||
umm.. estoy un poco verde en todo esto.. Pero bueno investigaré un poco sobre el inflate y las diferencias entre usar un layout y un CustomView. Yo estoy casi convencido que necesitaria un CustomView.. por que cada item va a ser diferente al resto, además de que será el usuario quien los vaya añadiendo dinamicamente (no es un grid fijo, es decir, cada cuenta de usuario tendrá un número de items diferente y disitntos entre si). Por lo tanto si no me equivoco ... inflate un layout... no lo puedo configurar no? o no sabria como.
Me pondre a mirar luego a ver si aclaro algo mas..Estoy un poco perdido con esto. |
#5
|
||||
|
||||
Fíjate en los tutoriales de inet , en todos los que llenan customlistviews o gridviews se utilizan clases adapter y en su método getview usan inflater para inflar el customview(layout que tu diseñes) así como modificar propiedades de sus elementos, todo para cada item.
|
Gracias de parte de: | ||
#6
|
||||
|
||||
No consigo aclarar el tema. He encontrado este ejemplo http://www.vogella.com/articles/Andr...mpoundcontrols
Tras corregir varios errores en los espacios de nombres, he intentado arrancarlo, pero la aplicación se cierra inesperadamente, así que no sé si la idea es la correcta o el fallo se debe a otro motivo. He intentado encontrar algún ejemplo, pero no consigo ninguno lo suficientemente claro y simple. ¿Si conocen algún ejemplo/tutorial que funcione me lo podrían pasar? Muchas gracias por las contestas. |
#7
|
||||
|
||||
Finalmente lo conseguí después de todo, así que voy a explicar la solución por si hay alguien que se topa con el problema:
|
Estás aquí | ||||||
|