2011-10-25 13 views
11

Say I dodać widok nagłówka do mojego widoku listy stosując typowe metody tak:Android - Jak zmienić elementy widoku nagłówka/stopki dla istniejącego ListView?

View header = getLayoutInflater().inflate(R.layout.list_header, null); 
TextView headerText = (TextView) header.findViewById(R.id.my_textview); 
headerText.setText("This is my header!"); 

myListView.addHeaderView(header); 
myListView.setAdapter(adapter); 

Następnie później muszę zmieniać tekst TextView nagłówka ...

TextView headerText = (TextView) findViewById(R.id.my_textview); 
headerText.setText("new header text!"); 

ten nie wydaje się działać, ponieważ sposób, w jaki pierwotnie dołączałem nagłówek do listy, polegał na nadmuchiwaniu go ...

Jak zmienić tekst?

+0

dlaczego po raz drugi otrzymujesz nagłówek textview resultCode TextView headerText = (TextView) findViewById (R.id.my_textview); ? po prostu użyj pierwszego bezpośrednio do setText. – user370305

+0

opublikować cały kod działalności, aby ułatwić zrozumienie problemu. – user370305

Odpowiedz

11

Powinieneś po prostu zapisać odwołanie do headerText, którego używałeś pierwotnie. Następnie zadzwoń pod numer setText.

+1

To jest podejście, które podjąłem. Ale ponieważ 'headerText' został pobrany z zawyżonego widoku, musiałem również zapisać odniesienie do zawyżonego widoku. To działało! –

0

Gdzie wykonujesz kod, aby zmienić tekst nagłówka? Jeśli nie zrobisz tego w wątku interfejsu, widok tekstowy nie zostanie zaktualizowany.

Powiązane problemy