Android/非同期処理/asynctask/画像
提供: 初心者エンジニアの簡易メモ
2020年8月13日 (木) 15:54時点におけるAdmin (トーク | 投稿記録)による版 (Admin がページ「Android/asynctask/画像」を「Android/非同期処理/asynctask/画像」に、リダイレクトを残さずに移動しました)
画像非同期呼び出しクラスサンプル
/** * 画像非同期ロードクラス */ public class BitmapWorkerTask extends AsyncTask<String, Integer, Bitmap> { private final String TAG = "BitmapWorkerTask"; private Context mContext; private WeakReference<ImageView> mImageViewReference; public BitmapWorkerTask(Context context) { this.mContext = context; } public void setImageView(ImageView iv) { mImageViewReference = new WeakReference<ImageView>(iv); } @Override protected void onPreExecute() { Log.d(TAG, "onPreExecute"); } @Override protected Bitmap doInBackground(String... urls) { return BitmapUtil.getBitmapByUrl(urls[0]); } @Override protected void onProgressUpdate(Integer... values) { Log.d(TAG, "onProgressUpdate=" + values[0]); } @Override protected void onCancelled() { Log.d(TAG, "onCancelled"); } @Override protected void onPostExecute(Bitmap bitmap) { if (mImageViewReference != null && bitmap != null) { ImageView iv = mImageViewReference.get(); iv.setImageBitmap(bitmap); } } }