将图像视图位图设置为返回的位图

时间:2015-12-09 04:21:34

标签: java android bitmap imageview android-imageview

我正在尝试将图片视图的位图图像设置为另一个类返回的位图,下面是代码片段: -

imageView = (ImageView) findViewById(R.id.imageView);
Bitmap myBitmap = myModel.loadBitmap(getResources(), R.drawable.nether);
imageView.setImageBitmap(myBitmap);

这是模型类: -

public class Model {

Bitmap cache;

public Bitmap loadBitmap(final Resources resource, final int i){

    new Thread(new Runnable(){
        public void run(){

            cache = BitmapFactory.decodeResource(resource, i);

        }
    }).start();

    return cache;
}
}

问题是图像无法显示。它显示在同一个类中设置图像视图位图之前是否使用了用于加载位图的代码,但返回的位图不起作用。

任何帮助都会很棒,谢谢!

2 个答案:

答案 0 :(得分:0)

- 你使用了在后台运行的线程,所以它不会按顺序进行,你的缓存可能会返回null,这就是你无法设置位图的原因

将此简单行用于问题: -

Bitmap bitmap= BitmapFactory.decodeResource(getResources(), R.drawable.icon);

答案 1 :(得分:0)

我设法修复了这个问题,并且仍然通过传递imageView:

将图像加载到线程中
  new Thread(new Runnable(){
        public void run(){

            cache = BitmapFactory.decodeResource(resource, i);

            imageView.post(new Runnable(){
                public void run(){
                    imageView.setImageBitmap(cache);
                }
            });

        }
    }).start();

感谢您的帮助!