私は書き込もうとしています AsyncTask
これは ImageView
そして 画像へのパス 入力として、画像をバックグラウンドスレッドにロードします。両方を渡す方法を知りたかった ImageView
そしてへのパス AsyncTask
?ザ Params
の引数 doInBackground
保持することができます array
同じクラスに属するデータの1つですが、そのうちの1つが View
もう1つはファイルへのパスです(String
)。
私が持っている1つのオプションは、 AsyncTask
内部クラスとして宣言し、 ImageView
内部でアクセスできるクラス変数として AsyncTask
。同じタスクが複数のクラスで使用されており、DRYポリシーに準拠していないため、これは実行したくありません。
どんな助けもありがとうございます。
ありがとう。
回答:
回答№1は1ImageViewのsetTagメソッドを使用して、画像のパスを指定できます。 その後、非同期タスクまたはバックグラウンドスレッドは、imageViewにgetTagを実行し、それを使用して必要な処理を実行できます。
回答№2の場合は1
SOで尋ねられたのと同じタイプの質問 Android:Asynctaskを使用してWebから画像を読み込む そしてまた見てください AsyncTaskを使用しようとすると、いくつかの画像ファイルをダウンロードします それを試してみて、問題を見つけたら私に知らせてください。
回答№3の場合は1
タスクのパラメータをImageViewと文字列のペアとして宣言できます。
private class DownloadFilesTask extends AsyncTask< Pair<ImageView, String> >, Integer, Long> {
}