Ничего не передавая AsyncTask в Android - PullRequest
13 голосов
/ 03 октября 2011

Как создать экземпляр и вызвать и расширить класс AsyncTask, если я ничего не передаю ему?

Кроме того, я устанавливаю текстовое представление в пользовательском интерфейсе для вычисляемого результата.Бен

Ответы [ 2 ]

29 голосов
/ 16 октября 2014

Пример реализации для Async без параметров и результата Bitmap в результате 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) {

        ....
    }
}

В своей деятельности вы должны добавить эту реализацию:

MyAsyncTask myAsyncTask = new MyAsyncTask();
myAsyncTask.execute();
11 голосов
/ 03 октября 2011

Я думаю, что вы хотели спросить, как написать AsyncTask, который не запрашивает никаких параметров.Хитрость заключается в определении того, что вы ожидаете использовать в качестве параметра и возвращаемого значения в расширении вашего класса: class MyClass extends AsyncTask<Void, Void, Void> например, не ожидает никаких параметров и не возвращает их.AsyncTask<String, Void, Drawable> ожидает String (или несколько строк) и возвращает Drawable (из собственного метода doInBackground в собственный метод onPostExecute)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...