Snažím sa aktualizovať farbu listového zobrazenia z metódy async task postexecute.
robím ((View) lstChoices.getAdapter().getView(0,null, lstChoices)).setBackgroundColor(Color.RED);
Ale to nie je nič robiť, ale snažil som sa to isté v getView metóde môj vlastný adaptér, potom to fungovalo, row.setBackgroundColor(Color.RED);
Akékoľvek nápady, čo robím zle?
Vďaka
odpovede:
1 pre odpoveď č. 1Nemali by ste to zmeniť týmto spôsobom. Všetko, čo súvisí s riadkom, by malo byť spracované v adaptéri. To znamená, že ak ste zmenili niečo, čo by mohlo ovplyvniť farbu pozadia, potom všetko, čo musíte urobiť, je notifyDatsetChanged()
čo by spustilo zmenu zoznamu. A b / g farba by mala byť potom zmenená pomocou adaptéra.
0 pre odpoveď č. 2
Veľmi jasne prezentovaný prístup k položke listovej položky Farba na pozadí sa mení podľa položky "s stáť je na adrese Programovo vyberte položku ListView v systéme Android
Vzhľadom k tomu, že hľadáte "postexecute", pravdepodobne zmeníte stav položky a pomocou tohto prístupu vám pomôže získať to, čo ste po.