0

我无法找到如何将图像下载到我的小部件!

在我的小部件中,我使用 url、标题加载 AsyncTask json,然后在 TextView 中显示标题,我需要从 url 加载图像。

我试过这个,但图像加载,现在显示

class LoadImages extends AsyncTask<Void, Void, Bitmap>{
        @Override
        protected Bitmap doInBackground(Void... params) {
            Bitmap bitmap = null;
            InputStream in = null;
            BufferedOutputStream out = null;

            try {
                in = new BufferedInputStream(new URL("http://mysite/simple.img").openStream());

                final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
                out = new BufferedOutputStream(dataStream);
                out.flush();

                final byte[] data = dataStream.toByteArray();
                BitmapFactory.Options options = new BitmapFactory.Options();
                //options.inSampleSize = 1;

                bitmap = BitmapFactory.decodeByteArray(data, 0, data.length,options);
                Log.e("Log", "Yeah");
            } catch (IOException e) {
                Log.e("Log", "Could not load Bitmap from: " + "mysiteg");
            }

            return bitmap;
        }
    }

在更新时我称之为

        LoadImages load = new LoadImages();
        load.execute();
        Bitmap bitmap = load.get();
        update.setImageViewBitmap(R.id.imageView0, bitmap);
4

1 回答 1

1

您应该重写 LoadImages 类中的 onPostExecute 方法,并在该方法中将位图设置为您的 ImageView。当 LoadImages 任务完成后,它会调用 onPostExcute 方法。考虑使用 Wea​​kReference 包装您的 ImageView 以获得更好的性能。

于 2012-12-28T11:43:41.690 回答