微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.lang.ClassCastException: android.graphics.drawable.TransitionDrawable 不能转换为 android.graphics.drawable.BitmapDrawable

如何解决java.lang.ClassCastException: android.graphics.drawable.TransitionDrawable 不能转换为 android.graphics.drawable.BitmapDrawable

创建壁纸应用时出现问题。 当我尝试设置壁纸时,出现以下错误。 我想知道问题所在。我做错了什么? 设置 setwallpaper 时出现此错误。 如果有人知道这个问题的答案,请帮助我。

  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_fullscreen);


    Glide.with(getApplicationContext()).load(url).
            transition(DrawableTransitionoptions.withCrossFade()).
            apply(RequestOptions.centerCropTransform().
                    diskCacheStrategy(diskCacheStrategy.DATA)).listener(new RequestListener<Drawable>() {
        @Override
        public boolean onLoadFailed(@Nullable GlideException e,Object model,Target<Drawable> target,boolean isFirstResource) {
            progressBar.setVisibility(View.GONE);
            return false;
        }

        @Override
        public boolean onResourceReady(Drawable resource,DataSource dataSource,boolean isFirstResource) {
            progressBar.setVisibility(View.GONE);
            return false;
        }
    }).into(imageView);
}

public static WallpaperManager setMainScreenWallpaper(Context context,ImageView imageView,String message) {

    Bitmap bitmap;

    WallpaperManager manager = WallpaperManager.getInstance(context);
    try {
        bitmap = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            manager.setBitmap(bitmap,null,true,WallpaperManager.FLAG_SYstem);
        }else {

            manager.setBitmap(bitmap);
        }

        if(message.isEmpty()){
            message = "Wallpaper set successfully";
        }
        Toast.makeText(context,message,Toast.LENGTH_SHORT).show();
    } catch (NullPointerException e) {
        e.printstacktrace();
    } catch (IOException e) {
        e.printstacktrace();
    }

    return null;

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。