android setImageResource 视图无效,处理方法

开发中,fragment里对imageview进行setImageResource操作发现不起作用时,我们可以重试以下方法。

考虑使用setImageDrawable(Drawable)或setImageBitmap(Bitmap)
    public static void setImageResByBitmap(Context context, ImageView imageView, int resourceId) {
        setImageResByBitmap(context,imageView,resourceId, null);
    }
    public static void setImageResByBitmap(Context context, ImageView imageView, int resourceId, CallbackSetImageResListener callbackSetImageResListener) {
        Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resourceId);
        if(null != bitmap) {
            imageView.setImageBitmap(bitmap);
        } else {
            if (null != callbackSetImageResListener) {
                callbackSetImageResListener.onFailed(new Exception("null is resourceId has change to Bitmap "), resourceId);
            } else {
                imageView.setImageResource(resourceId);
            }
        }
    }

public interface CallbackSetImageResListener {
        public void onFailed(Exception e, int resourceId);
    }

测试后管用。可以拿去试试吧

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐