Jak utworzyć instancję i wywoływać i rozszerzać AsyncTask klasy, jeśli nic nie przekazuję?Nic nie przekazuje AsyncTask w Androidzie
Ustawiam również tekst w interfejsie do obliczonego wyniku.
Dzięki Ben
Jak utworzyć instancję i wywoływać i rozszerzać AsyncTask klasy, jeśli nic nie przekazuję?Nic nie przekazuje AsyncTask w Androidzie
Ustawiam również tekst w interfejsie do obliczonego wyniku.
Dzięki Ben
myślę, co oznaczało było zapytać jak mogę napisać AsyncTask że nie prosi o dowolnych parametrach. Sztuką jest zdefiniowanie tego, czego oczekujesz jako parametru i wartości zwracanej w rozszerzeniu klasy: class MyClass extends AsyncTask<Void, Void, Void>
na przykład nie oczekuje żadnych parametrów i nie zwraca żadnego z nich. AsyncTask<String, Void, Drawable>
oczekuje na łańcuch (lub kilku strun) i wraca rozciągliwej (z własnej metody doInBackground
z własnym sposobem onPostExecute
)
z przykładów realizacji Async bez params i mapę bitową wynik w wyniku onPostExecute
/**
* My Async Implementation without doInBackground params
*
*/
private class MyAsyncTask extends AsyncTask<Void, Void, Bitmap> {
@Override
protected Bitmap doInBackground(Void... params) {
Bitmap bitmap;
....
return bitmap;
}
protected void onPostExecute(Bitmap bitmap) {
....
}
}
W twoja aktywność, powinieneś dodać tę implementację:
MyAsyncTask myAsyncTask = new MyAsyncTask();
myAsyncTask.execute();
podczas wywoływania myAsyncTask.execute, isn ' t konieczne jest dostarczenie parametrów? –
Tak. W takim przypadku funkcja może być wykonywana bez parametrów. Jeśli potrzebujesz więcej informacji, skontaktuj się ze mną. –
i jaki jest najlepszy sposób, aby się z Tobą skontaktować :) –
Dzięki, to bardzo pomocne. Muszę ustawić tekst na niestandardowym widoku, który zbudowałem (brak parametrów ustawionych lub zwróconych), ale jak to zrobić? –
Możesz utworzyć konstruktor w klasie AsyncTask, w której przekazujesz odwołanie do widoku. Jeśli zapiszesz to w zmiennej w klasie, możesz użyć tej zmiennej, aby ustawić tekst do niej w metodzie 'onPostExecute'. Pamiętaj jednak, aby ustawić tekst w 'onPostExecute', ponieważ Android nie pozwala na zmianę interfejsu w wątku nonUI (AsyncTask), z wyjątkiem sytuacji, gdy robisz to w' onPostExecute' – Lars