1

我有缩略图Gallery picGallery,图片是异步下载的。然后ImageView picView,当单击缩略图时,我应该在哪里放置更大的图像。问题是当我在下载缩略图之前单击缩略图时 - BitmapDrawable 为空。

picGallery.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

            BitmapDrawable bd = (BitmapDrawable)((ImageView)v).getDrawable();
            picView.setImageBitmap(bd.getBitmap());

        }
    });

我想在BitmapDrawable bd为空时将一些预加载器放到 picView 中,所以我需要以某种方式等待变量更改。怎么做?

4

1 回答 1

0

我想在 BitmapDrawable bd 为空时将一些预加载器放入 picView,所以我需要以某种方式等待变量更改。怎么做?

OnItemClickListener检查中查看是否Bitmap不是null. 如果不是null,则将其设置为背景。如果它null被设置picView为默认图像(如Loading...),那么用户会立即看到一些东西并设置一个booleanflag requireUpdate。在AsyncTask加载图像的方法或任何异步方法中,当图像完全加载时,检查该requireUpdate标志。如果标志为真,也将Bitmap直接设置为picView(您可能还需要存储单击缩略图的位置以了解您要定位的图像)。

于 2013-04-27T09:30:23.203 回答