2016-12-01 4 views
0

я м делает FileManager приложение и я загрузить drawble значок изображения на мой взгляд изображения с помощью скольжению: это мой drawble метод:Загрузка значок приложения Изображение, чтобы ImageView Использование Glide

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 

, как я могу решить?

ответ

0

По моим сведениям, вы не можете использовать Glideload метод с BitmapDrawable, не поддерживаемый тип.

Вы можете реализовать модельный загрузчик/декодер для него, но я думаю, что решить эту проблему не стоит.

Почему вы не используете простой ImageView.setImageDrawable(drawable), если ваш drawable уже находится в вашей локальной файловой системе?

+0

потому что для этого требуется около 0,5 секунд. –