android drawable转url,从url获取图标,从drawable获取图标,它只从drawable获取

  • Post author:
  • Post category:其他


你需要通过你的

arrayList.get(position).getIcon()

而不是

“icon”

在里面

context.getResources().getIdentifier()

返回给定资源名称的资源标识符。完全限定的资源名称的格式为“package:type/entry”。

Returns

:

int关联的资源标识符。

如果未找到此类资源,则返回0。(0不是有效的资源ID。)

试试这个方法

int resID = context.getResources().getIdentifier(String.valueOf(arrayList.get(position).getIcon()), “drawable”,context.getPackageName()); “drawable”,context.getPackageName());

// if resID == 0 means the icon is not available in drawable folder

// so it will load icon from url using Glide

if (resID == 0) {

Log.d(“TAG”, “onBindViewHolder: Glide” + resID);

Glide.with(context)

.load(imageUrl)

.apply(requestOptions

.placeholder(R.drawable.default_favicon)

.diskCacheStrategy(DiskCacheStrategy.ALL)

.fitCenter())

.into(viewHolder.tvIcon);

}

// if resID != 0 means the icon is available in drawable folder

// so it will load icon from drawable folder

else {

Log.d(“TAG”, “onBindViewHolder: ” + resID);

viewHolder.tvIcon.setImageResource(resID);

}