Volley の ImageRequest

Google I/O 2013 で紹介された Volley ライブラリ、もうだいぶ経ってしまって今更なんだが、メモとして。。。

com.android.volley.RequestQueue を Activity クラス内で宣言して
--------
private RequestQueue mQueue;


onCreate でキュー生成する

mQueue = Volley.newRequestQueue(getApplicationContext());


画像URLと、表示のImageView を渡して ImageRequest をキューに追加するメソッドを用意する。
このメソッドを ListView の Adapter の getView から呼ぶようにする。


protected void requestImage(final ImageView imageView, String urlstr){
   ImageRequest request = new ImageRequest(urlstr, new Listener<Bitmap>(){
      @Override
      public void onResponse(Bitmap bitmap){
        imageView.setImageBitmap(bitmap);
      }
   }, 0, 0, Config.ARGB_8888, new ErrorListener(){
      @Override
      public void onErrorResponse(VolleyError error){
         Log.e("tag", error.getMessage(), error);
      }
   });
   mQueue.add(request);
}

ListView の Adapter の getView の中で、行のレイアウトより、findViewById で取得した ImageView をこの requestImage に渡す方法だ。