在 Android 开发中,Drawable 是指可以作为应用程序中图像资源的基类。如果你想把 Drawable 类型转换为 int 类型,可以使用
ContextCompat
工具类的
getDrawable()
方法和
Resources
类的
getIdentifier()
方法。
以下是一些代码示例:
// 获取 Drawable 对象
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.icon_name);
// 将 Drawable 对象转换成 int 类型
int drawableId = 0;
Resources resources = context.getResources();
if (drawable != null) {
drawableId = resources.getIdentifier("icon_name", "drawable", context.getPackageName());
// 使用 int 类型的资源 ID
imageView.setImageResource(drawableId);
需要注意的是,getIdentifier()
方法返回的是 int 类型的资源 ID,如果找不到相应的资源,会返回 0。因此,在使用资源 ID 时,需要先判断其是否为 0,以避免出现空指针异常等错误。
希望这些信息对您有所帮助。