Android - асинхронная задача для загрузки изображений - PullRequest
0 голосов
/ 19 октября 2011

Я пытаюсь написать AsyncTask, который принимает ImageView и путь к изображению в качестве входных данных и загружает изображение в фоновый поток. Я хотел знать, как я могу передать и ImageView и путь к AsyncTask? Аргумент Params в doInBackground может содержать array данных, принадлежащих одному и тому же классу, но это другой сценарий, поскольку один из них - View, а другой - путь к файлу (String).

Один из вариантов, который у меня есть, - это AsyncTask в качестве внутреннего класса и объявление ImageView в качестве переменной класса, к которой можно получить доступ внутри AsyncTask. Я не хочу этого делать, потому что одна и та же задача используется несколькими классами и не соответствует политике DRY.

Любая помощь приветствуется.

Спасибо.

Ответы [ 3 ]

1 голос
/ 19 октября 2011

Вы можете использовать метод setTag в ImageView и указать путь к изображению.ваша асинхронная задача или фоновый поток могут затем получить тег imageView и делать с ним все, что вы хотите.

1 голос
/ 19 октября 2011

Вы можете объявить параметры задачи в виде пары ImageView и String.

private class DownloadFilesTask extends AsyncTask< Pair<ImageView, String> >, Integer, Long> {

}
1 голос
/ 19 октября 2011

Вопрос такого же типа, задаваемый в SO Android: загрузка изображения из Интернета с помощью Asynctask , а также просмотр При попытке использовать AsyncTask загрузите некоторые файлы изображений , попробуйте, и если Вы нашли проблему, дайте мне знать.

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