[CatDroid] Multilayout adapter

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[CatDroid] Multilayout adapter

Sergi Martínez
Bueno, igual el título no sirve, pero es que no se como llamarlo.

Tengo que implementar una lista de items en dos columnas, hasta ahí nada raro, un gridview y fuera.

El problema es que puedo tener items grandes y pequeños. Si hay dos pequeños seguidos deberian ocupar sólo una celda.

Algo parecido a lo que implementa Google+ para tablets.

Con layouts no debería costar demasiado, pero quiero hacerlo con adapters.

He buscado ejemplos pero no encuentro nada claro.

La solución que se me ha ocurrido es preprocesar la lista y tener un listado de items que puedan heredar en singleitem o dobleitem, pero preferiría que la combinación lista/adapter se lo currasen solas en vez de preprocesar los datos.

Alguna sugerencia?

Reply | Threaded
Open this post in threaded view
|

[CatDroid] Re: Multilayout adapter

Joan Fuentes Hernández
Mi idea sería montarse un layout con un listview que fuese nutrido con un adapter al cual se la pasaría una lista de elementos. Cada uno de esos elementos podrían contener desde 1 hasta X (lo que definas) elementos diferentes, y a la hora de montar el layout, usarías los datos de la cantidad de elementos para dividir al ancho y adaptar cada "elemento" a ese ancho. El alto tendrías el control absoluto, así que, también podrías usar el número de elementos para asignar un alto. 

No se si me he explicado correctamente :P

Por ejemplo, un adapter al que se le pasaría AllElements del siguiente código.

ArrayList<Element> Row;
Arraylist<Row> AllElements;

AllElements = {{element1,element2} , {element3} , {element4, element5, element6}};



El lunes, 3 de diciembre de 2012 15:48:29 UTC+1, Sergi escribió:
Bueno, igual el título no sirve, pero es que no se como llamarlo.

Tengo que implementar una lista de items en dos columnas, hasta ahí nada raro, un gridview y fuera.

El problema es que puedo tener items grandes y pequeños. Si hay dos pequeños seguidos deberian ocupar sólo una celda.

Algo parecido a lo que implementa Google+ para tablets.

Con layouts no debería costar demasiado, pero quiero hacerlo con adapters.

He buscado ejemplos pero no encuentro nada claro.

La solución que se me ha ocurrido es preprocesar la lista y tener un listado de items que puedan heredar en singleitem o dobleitem, pero preferiría que la combinación lista/adapter se lo currasen solas en vez de preprocesar los datos.

Alguna sugerencia?



--

Sergi Martínez


<a href="javascript:" target="_blank" gdf-obfuscated-mailto="OB0K1NQD8sUJ">sergi.m...@...
Reply | Threaded
Open this post in threaded view
|

Re: [CatDroid] Re: Multilayout adapter

Sergi Martínez
Jordi, ya lo he visto, pero este hace "trampas", ya que lo único que hace es dibujar "n" elementos por fila, en vez de realmente "consumir" la lista

Joan, ese és el método que barajo ahora, tener List<Item> y generar dos clases herededas de Item, SingleItem y DoubleItem, y hacer un pre-procesado de la lista de datos, en el getView mirar de que tipo es, e implementar dos "sub" get view, uno por tipo. Lo combinaría también con el getViewType para poder utilitzar dos layouts diferentes y cachearlos con su viewholder (jo que párrafo)

Lo que me hubiese gustado es que la magia estuviese en el view y el adapter para tener un MultiResGridView o algo así de cara a reutilización.

Gracias!






2012/12/3 Joan Fuentes Hernández <[hidden email]>
Mi idea sería montarse un layout con un listview que fuese nutrido con un adapter al cual se la pasaría una lista de elementos. Cada uno de esos elementos podrían contener desde 1 hasta X (lo que definas) elementos diferentes, y a la hora de montar el layout, usarías los datos de la cantidad de elementos para dividir al ancho y adaptar cada "elemento" a ese ancho. El alto tendrías el control absoluto, así que, también podrías usar el número de elementos para asignar un alto. 

No se si me he explicado correctamente :P

Por ejemplo, un adapter al que se le pasaría AllElements del siguiente código.

ArrayList<Element> Row;
Arraylist<Row> AllElements;

AllElements = {{element1,element2} , {element3} , {element4, element5, element6}};



El lunes, 3 de diciembre de 2012 15:48:29 UTC+1, Sergi escribió:
Bueno, igual el título no sirve, pero es que no se como llamarlo.

Tengo que implementar una lista de items en dos columnas, hasta ahí nada raro, un gridview y fuera.

El problema es que puedo tener items grandes y pequeños. Si hay dos pequeños seguidos deberian ocupar sólo una celda.

Algo parecido a lo que implementa Google+ para tablets.

Con layouts no debería costar demasiado, pero quiero hacerlo con adapters.

He buscado ejemplos pero no encuentro nada claro.

La solución que se me ha ocurrido es preprocesar la lista y tener un listado de items que puedan heredar en singleitem o dobleitem, pero preferiría que la combinación lista/adapter se lo currasen solas en vez de preprocesar los datos.

Alguna sugerencia?




--

Sergi Martínez


[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [CatDroid] Re: Multilayout adapter

Bernat

He sentit nova llibreria?

El 03/12/2012 16:29, "Sergi Martínez" <[hidden email]> escribió:
Jordi, ya lo he visto, pero este hace "trampas", ya que lo único que hace es dibujar "n" elementos por fila, en vez de realmente "consumir" la lista

Joan, ese és el método que barajo ahora, tener List<Item> y generar dos clases herededas de Item, SingleItem y DoubleItem, y hacer un pre-procesado de la lista de datos, en el getView mirar de que tipo es, e implementar dos "sub" get view, uno por tipo. Lo combinaría también con el getViewType para poder utilitzar dos layouts diferentes y cachearlos con su viewholder (jo que párrafo)

Lo que me hubiese gustado es que la magia estuviese en el view y el adapter para tener un MultiResGridView o algo así de cara a reutilización.

Gracias!






2012/12/3 Joan Fuentes Hernández <[hidden email]>
Mi idea sería montarse un layout con un listview que fuese nutrido con un adapter al cual se la pasaría una lista de elementos. Cada uno de esos elementos podrían contener desde 1 hasta X (lo que definas) elementos diferentes, y a la hora de montar el layout, usarías los datos de la cantidad de elementos para dividir al ancho y adaptar cada "elemento" a ese ancho. El alto tendrías el control absoluto, así que, también podrías usar el número de elementos para asignar un alto. 

No se si me he explicado correctamente :P

Por ejemplo, un adapter al que se le pasaría AllElements del siguiente código.

ArrayList<Element> Row;
Arraylist<Row> AllElements;

AllElements = {{element1,element2} , {element3} , {element4, element5, element6}};



El lunes, 3 de diciembre de 2012 15:48:29 UTC+1, Sergi escribió:
Bueno, igual el título no sirve, pero es que no se como llamarlo.

Tengo que implementar una lista de items en dos columnas, hasta ahí nada raro, un gridview y fuera.

El problema es que puedo tener items grandes y pequeños. Si hay dos pequeños seguidos deberian ocupar sólo una celda.

Algo parecido a lo que implementa Google+ para tablets.

Con layouts no debería costar demasiado, pero quiero hacerlo con adapters.

He buscado ejemplos pero no encuentro nada claro.

La solución que se me ha ocurrido es preprocesar la lista y tener un listado de items que puedan heredar en singleitem o dobleitem, pero preferiría que la combinación lista/adapter se lo currasen solas en vez de preprocesar los datos.

Alguna sugerencia?




--

Sergi Martínez


[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [CatDroid] Re: Multilayout adapter

Sergi Martínez
nope


2012/12/3 Bernat <[hidden email]>

He sentit nova llibreria?

El 03/12/2012 16:29, "Sergi Martínez" <[hidden email]> escribió:

Jordi, ya lo he visto, pero este hace "trampas", ya que lo único que hace es dibujar "n" elementos por fila, en vez de realmente "consumir" la lista

Joan, ese és el método que barajo ahora, tener List<Item> y generar dos clases herededas de Item, SingleItem y DoubleItem, y hacer un pre-procesado de la lista de datos, en el getView mirar de que tipo es, e implementar dos "sub" get view, uno por tipo. Lo combinaría también con el getViewType para poder utilitzar dos layouts diferentes y cachearlos con su viewholder (jo que párrafo)

Lo que me hubiese gustado es que la magia estuviese en el view y el adapter para tener un MultiResGridView o algo así de cara a reutilización.

Gracias!






2012/12/3 Joan Fuentes Hernández <[hidden email]>
Mi idea sería montarse un layout con un listview que fuese nutrido con un adapter al cual se la pasaría una lista de elementos. Cada uno de esos elementos podrían contener desde 1 hasta X (lo que definas) elementos diferentes, y a la hora de montar el layout, usarías los datos de la cantidad de elementos para dividir al ancho y adaptar cada "elemento" a ese ancho. El alto tendrías el control absoluto, así que, también podrías usar el número de elementos para asignar un alto. 

No se si me he explicado correctamente :P

Por ejemplo, un adapter al que se le pasaría AllElements del siguiente código.

ArrayList<Element> Row;
Arraylist<Row> AllElements;

AllElements = {{element1,element2} , {element3} , {element4, element5, element6}};



El lunes, 3 de diciembre de 2012 15:48:29 UTC+1, Sergi escribió:
Bueno, igual el título no sirve, pero es que no se como llamarlo.

Tengo que implementar una lista de items en dos columnas, hasta ahí nada raro, un gridview y fuera.

El problema es que puedo tener items grandes y pequeños. Si hay dos pequeños seguidos deberian ocupar sólo una celda.

Algo parecido a lo que implementa Google+ para tablets.

Con layouts no debería costar demasiado, pero quiero hacerlo con adapters.

He buscado ejemplos pero no encuentro nada claro.

La solución que se me ha ocurrido es preprocesar la lista y tener un listado de items que puedan heredar en singleitem o dobleitem, pero preferiría que la combinación lista/adapter se lo currasen solas en vez de preprocesar los datos.

Alguna sugerencia?




--

Sergi Martínez


[hidden email]



--

Sergi Martínez


[hidden email]