/ / Android - Tâche asynchrone pour charger des images - android, android-asynctask

Android - Tâche asynchrone pour charger des images - Android, Android-Asynctask

J'essaye d'écrire un AsyncTask qui prend un ImageView et chemin vers l'image en entrée et charge l'image dans un fil d'arrière-plan. Je voulais savoir comment passer les deux ImageView et le chemin de la AsyncTask? le Params argument dans le doInBackground peut tenir un array des données appartenant à la même classe, mais il s'agit d'un scénario différent car l'un d'eux est un View et un autre est le chemin d'accès à un fichier (String).

Une option que j'ai, c'est d'avoir le AsyncTask en tant que classe interne et déclarer la ImageView comme variable de classe accessible à l'intérieur AsyncTask. Je ne veux pas faire cela, car la même tâche est utilisée par plusieurs classes et elle n'est pas conforme à la politique DRY.

Toute aide est appréciée.

Merci.

Réponses:

1 pour la réponse № 1

vous pouvez utiliser la méthode setTag d'ImageView et lui donner le chemin de votre image. votre thread asynctask ou d'arrière-plan peut alors obtenir votre imageView et faire ce que vous voulez avec.


1 pour la réponse № 2

Le même type de question posée dans SO Android: chargement d'une image à partir du Web avec Asynctask et regardez aussi En essayant d'utiliser AsyncTask, téléchargez des fichiers image essayez-le et si vous avez trouvé un problème, faites-le moi savoir.


1 pour la réponse № 3

Vous pouvez déclarer les paramètres de la tâche comme une paire d'ImageView et une chaîne.

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

}