/ / Kolor wiersza listy nie został zmieniony z asynktaksu - android, listview, android-listview, android-asynktak, android-drawable

Kolor wiersza listy nie został zmieniony z asynktaksu - android, listview, android-listview, android-asynktak, android-drawable

Próbuję zaktualizować kolor listview z metody postexecute async task.

robię ((View) lstChoices.getAdapter().getView(0,null, lstChoices)).setBackgroundColor(Color.RED);

Ale to nic nie robi, ale spróbowałem tak samo w metodzie getView z mojego niestandardowego adaptera, a potem zadziałało, row.setBackgroundColor(Color.RED); Jakieś pomysły, co robię źle?

Dzięki

Odpowiedzi:

1 dla odpowiedzi № 1

Nie powinieneś tego zmieniać w ten sposób. Wszystko, co jest związane z wierszem, powinno być obsługiwane w adapterze. Oznacza to, że jeśli zmienisz coś, co może wpłynąć na kolor tła, wszystko, co powinieneś zrobić, to zrobić notifyDatsetChanged() które spowodowałoby przerysowanie listy. I b / g kolor powinien być następnie zmieniony przez adapter.


0 dla odpowiedzi nr 2

Bardzo jasno przedstawione podejście do zmiany koloru tła Listview w zależności od przedmiotu Stan jest przy Programowo wybierz pozycję ListView w systemie Android

Ponieważ szukasz "postexecute" może zmieniając stan przedmiotu i używając tego podejścia, możesz pomóc ci osiągnąć to, czego szukasz.