/ / Android-画像をロードする非同期タスク-android、android-asynctask

Android - 画像を読み込む非同期タスク - android、android-asynctask

私は書き込もうとしています AsyncTask これは ImageView そして 画像へのパス 入力として、画像をバックグラウンドスレッドにロードします。両方を渡す方法を知りたかった ImageView そしてへのパス AsyncTask?ザ Params の引数 doInBackground 保持することができます array 同じクラスに属するデータの1つですが、そのうちの1つが View もう1つはファイルへのパスです(String)。

私が持っている1つのオプションは、 AsyncTask 内部クラスとして宣言し、 ImageView 内部でアクセスできるクラス変数として AsyncTask。同じタスクが複数のクラスで使用されており、DRYポリシーに準拠していないため、これは実行したくありません。

どんな助けもありがとうございます。

ありがとう。

回答:

回答№1は1

ImageViewのsetTagメソッドを使用して、画像のパスを指定できます。 その後、非同期タスクまたはバックグラウンドスレッドは、imageViewにgetTagを実行し、それを使用して必要な処理を実行できます。


回答№2の場合は1

SOで尋ねられたのと同じタイプの質問 Android:Asynctaskを使用してWebから画像を読み込む そしてまた見てください AsyncTaskを使用しようとすると、いくつかの画像ファイルをダウンロードします それを試してみて、問題を見つけたら私に知らせてください。


回答№3の場合は1

タスクのパラメータをImageViewと文字列のペアとして宣言できます。

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

}