2011-09-22 15 views
8

Tengo problemas para configurar la altura de una sola fila en un ListView. Ya leí cientos de foros y publicaciones de blogs, pero nada parece funcionar para mí.¿Cómo establecer diferentes alturas para cada fila en un ListView?

Tengo un ListView con ArrayAdapter<Order>. Dependiendo de los atributos del objeto Order, se usan diferentes Layouts, con diferentes alturas para cada fila. Sin embargo, al final, todas las filas tienen la misma altura. Supongo que es la altura del diseño dado al constructor de ArrayAdapter. ¿Alguien sabe cómo controlar la altura de cada fila por separado?

Gracias por sus respuestas, Filip

+0

Solo hay que cambiar la altura (1) o si desea diferentes diseños (2) ... (para 1) ovveride getView y cambie la altura allí ... para (2) también debe reemplazar a getItemViewType, getViewTypeCount y getView ... de todos modos muéstrenos su código de overView obviado – Selvin

Respuesta

18

El truco está en la vista en su artículo de diseño, es necesario establecer el layout_height a wrap_content y eso es todo.

Hice la captura de pantalla de mi lista Vista con elementos con diferentes alturas.

en caso de que usted es principiante, esto le dará un punto de partida:

public static final String[] bzz = new String[] { "1", "2", "3", "4", "5" }; 
ArrayAdapter<String> addap = new ArrayAdapter<String>(this, 
       R.layout.list_item, R.id.text_view, bzz); 
lv.setAdapter(addap); 

enter image description here

+0

Esto funcionó. Muchas gracias. – Sotti

+0

esto causará un problema de desplazamiento – GvSharma

Cuestiones relacionadas