2011-09-22 14 views
8

Mam problem z ustawieniem wysokości pojedynczego wiersza w widoku listy. Przeczytałem już setki forów i blogów, ale nic nie działa.Jak ustawić różne wysokości dla każdego wiersza w widoku listy?

Mam ListView z ArrayAdapter<Order>. W zależności od atrybutów obiektu Order, używane są różne układy, z różnymi wysokościami dla każdego rzędu. Jednak na końcu wszystkie rzędy mają taką samą wysokość. Przypuszczam, że jest to wysokość układu nadana konstruktorowi ArrayAdapter. Czy ktoś wie, jak kontrolować wysokość każdego rzędu osobno?

Dzięki za odpowiedzi, Filip

+0

trzeba tylko wysokość zmiana (1) lub chcesz różne układy (2) do (... 1) ovveride getView i zmień wysokość tam ... dla (2) potrzebujesz również nadpisać getItemViewType, getViewTypeCount i getView ... mimo to pokaż nam kod overriden getView – Selvin

Odpowiedz

18

Sztuką jest w widoku w swojej pozycji w układzie, trzeba ustawić layout_height do wrap_content i to wszystko.

Zrobiłem zrzut ekranu mojej listy Wyświetl elementy o różnych wysokościach.

w przypadku jesteś początkujący, to daje punkt wyjścia:

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

To zadziałało. Wielkie dzięki. – Sotti

+0

spowoduje to przewijanie problemu – GvSharma

Powiązane problemy