使用Glide将应用程序图像图标加载到imageView

时间:2016-12-01 06:44:03

标签: android android-glide

我正在创建fileManager应用程序并使用滑动在我的图像视图中加载drawble图像图标: 这是我的drawble方法:

 public Drawable getapkIcon(String filepath){

    PackageInfo packageInfo = context.getPackageManager().getPackageArchiveInfo(filepath, PackageManager.GET_ACTIVITIES);
    ApplicationInfo appInfo = packageInfo.applicationInfo;
    if (Build.VERSION.SDK_INT >= 8) {
        appInfo.sourceDir =filepath;
        appInfo.publicSourceDir = filepath;
    }
    Drawable icon = appInfo.loadIcon(context.getPackageManager());

    return icon;

}

滑翔表演:

Glide
.with(mContext)
.load(mIconRepository
.getapkIcon(filepath))
.placeholder(R.mipmap.ic_launcher)
.into(holder.apkImage);

显示错误:

 java.lang.IllegalArgumentException: Unknown type class 
 android.graphics.drawable.BitmapDrawable. You must provide a Model of a
 type for which there is a registered ModelLoader, if you are using a custom
 model, you must first call Glide#register with a ModelLoaderFactory for your custom model class

我该如何解决?

1 个答案:

答案 0 :(得分:0)

据我所知,您不能将 Glide load方法与BitmapDrawable一起使用,它不是受支持的类型。

你可以为它实现模型加载器/解码器,但我认为解决这个问题是不值得的。

如果您的drawable已经在本地文件系统中,为什么不使用简单的ImageView.setImageDrawable(drawable)