2009-06-20 18 views
8

voglio aggiornare un controllo ListView. Quando ricevo un valore da una classe diversa, desidero aggiornarlo per visualizzare la lista. Sto creando un thread per aggiornare l'elenco, ma io sono sempre un'eccezione:aggiornare una vista Android

Only the original thread that created a thread a view hierarchy can touch its views

Come procedere?

risposta

17

Invece di cercare di aggiornare la visualizzazione per aggiornare l'elenco basta prendere l'oggetto Adapter e chiamare l'API notifyDataSetChanged().

3

Ogni volta che si lavora con più thread in una GUI Android si dovrebbe usare Handler s. L'Android Dev Guide ha un buon esempio di come utilizzare Handler s con un ProgressDialog quando si espande la sottosezione Esempio ProgressDialog con un secondo threadhere.

L'esempio dovrebbe essere facile da capire e aiuterà ad applicare lo stesso concetto alla visualizzazione lista.

+0

Inoltre, vedere questa domanda simile: http://stackoverflow.com/questions/3280141/android-calledfromwrongthreadexception-only-the-original-thread-that-created – Vincent

Problemi correlati