2013-04-18 17 views
5

Tôi có một hình ảnh trong thư mục res như thế nàyTiếp cận một hình ảnh động từ res thư mục android

enter image description here

tôi muốn truy cập này tự động như thế này

holder.Viewcover.setImageDrawable(Drawable.createFromPath("R.id." + CoverimgUrl.get(position))); 

CoverimgUrl là một danh sách có hai tên hình ảnh là book_cover & và một tên khác là blank_image mảng này được tạo tự động sao cho tôi có thể đặt hình ảnh này từ danh sách đó

Trong một từ cách truy cập hình ảnh động trong thư mục có thể kéo và tôi cần lấy tên hình ảnh đó từ danh sách mảng?

Trả lời

8
Resources res = getResources(); 
String mDrawableName = "image_name"; 
int resourceId = res.getIdentifier(mDrawableName , "drawable", getPackageName()); 
Drawable drawable = res.getDrawable(resourceId); 
icon.setImageDrawable(drawable); 
+0

Cảm ơn rất nhiều người đã bỏ phiếu cho bạn – Anirban

+0

Phải chờ đợi 5 phút – Anirban

1

Đầu Hãy CoverimgUrl danh sách các số nguyên

List<Integer> CoverimgUrl =new ArrayList<Integer>(); 
      CoverimgUrl.add(R.drawable.book_cover); 
      CoverimgUrl.add(R.drawable.blank_image); 

Sau đó

holder.Viewcover.setImageResource(CoverimgUrl.get(position)); 
1

createFromPath hy vọng một đường dẫn đến tập tin, không đó là ID.

Bạn có thể sử dụng như sau:.

int id = getResources() getIdentifier (CoverimgUrl.get (vị trí), "id", getPackageName()); holder.Viewcover.setImageDrawable (getResources(). GetDrawable (id));

getIdentifier() lấy ID từ chuỗi. Khi bạn sử dụng lớp "R", nó chứa số nguyên tĩnh cho id. Vì vậy, R.id.some_name thực sự là một số nguyên, là id của tài nguyên some_name.

khi bạn nhận được số nguyên này với getIdentifier, bạn có thể sử dụng getResources(). GetDrawable() để có được drawable với ID đã cho.

Hãy cho tôi biết nếu công trình này hoạt động.

Các vấn đề liên quan