2010-10-08 14 views
5

Mam widok listy. W widoku listy muszę wyszarzyć i wyłączyć niektóre elementy i włączyć elementy listy odtwarzania w osobnym kolorze. Jak to zrobić?wyłączanie i wyszarzanie elementów listy

+0

Jak wygenerować listę? Programowo wewnątrz działania Java lub z zasobem XML? – methode

Odpowiedz

5

Powinieneś napisać niestandardową kartę rozszerzającą BaseAdapter dla twojego ListView. Aby wyłączyć niektóre elementy, należy zastąpić "boolean isEnabled (int position)" w tej karcie i zwrócić wartość false dla każdej pozycji, która ma zostać wyłączona.

Jeśli chodzi o zmianę koloru tła dla niektórych elementów listy: można zachować wartość koloru tła w wyświetlanej strukturze danych. W metodzie "getView()" niestandardowej karty należy sprawdzić tę wartość koloru dla bieżącego elementu i zwrócić widok z poprawnym zestawem kolorów tła.

Albo możesz po prostu wywołać "getChildAt()" na liście ListView, odzyskając obiekt Widok dla żądanego elementu na liście i zmienić jego kolor tła. Myślę, że wolałbym użyć poprzedniego rozwiązania.

Pamiętaj, aby zadzwonić do "notifyDataSetChanged()" na adapterze ListView po wprowadzeniu takich zmian.

+0

thanx dużo !!! to się udało! – mdv

Powiązane problemy