Могу ли я передавать различные типы параметров AsyncTask в Android?



Answers

Вы можете передавать параметры как объекты

new MyTask().execute(url, str, context);

public class MyTask extends AsyncTask<Object, Void, Void> {
    @Override
    protected Void doInBackground(Object... params) {
            Url url = (Url) params[0];
            String str = (String) params[1];
            Context ctx = (Context) params[2];

            return null;
    }
}
Question

Я хочу реализовать универсальный класс сокращения потоков, который берет RessourceId для ImageView и Url (http), где хранится нужный файл изображения. Он загрузит изображение и заполнит src ImageView в UiThread.

Я думал, что AsyncTask будет для меня лучшей. Однако я заметил, что я могу передать только один тип параметров doInBackground() . Как массив адресов. Это правда? Что бы вы посоветовали мне?




Links