Nienawidzę wewnętrznej klasy.Android: Jak zaktualizować interfejs użytkownika z AsyncTask, jeśli AsyncTask jest w osobnej klasie?
Mam główną aktywność, która uruchamia "AsyncTask" o krótkim czasie życia.
AsyncTask jest w oddzielnym pliku, nie jest wewnętrzną klasy działalności głównej
muszę asynchroniczny zadanie aktualizuje TextView od głównej działalności.
wiem mogę zaktualizować TextView z onProgressUpdate, jeśli AsyncTask jest klasa wewnętrzna
Ale jak z zewnętrznego, Niezależne, zadania asynchroniczny?
UPDATE: wygląda to jak praca:
W tym aktywność zgłoszę Zadaniem
backgroundTask = new BackgroundTask(this);
backgroundTask.execute();
W konstruktorze mam
public BackgroundTask(Activity myContext)
{
debug = (TextView) myContext.findViewById(R.id.debugText);
}
gdzie debugowania była prywatna pole AsyncTask.
Więc onProgressUpdate mogę
debug.append(text);
Dzięki za wszystkie sugestie
Masz na myśli, że w innej klasie chcesz uzyskać dostęp do interfejsu użytkownika? –
Tak. Muszę zaktualizować TextView z AsyncTask. – realtebo
Możesz przekazać kontekst w swoim konstruktorze i przesyłając go do swojej klasy ActivityClass, możesz zmienić textView za pomocą metody runOnUIThread. –