代码之家  ›  专栏  ›  技术社区  ›  Amine Messaoudi

android检查位图是否为有效图像

  •  1
  • Amine Messaoudi  · 技术社区  · 7 年前

    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.os.AsyncTask;
    import android.widget.ImageView;
    import java.io.InputStream;
    
    public class ImageViewLoader extends AsyncTask<String, Void, Bitmap>
    {
        ImageView bmImage;
        public ImageViewLoader(ImageView bmImage)
        {
            this.bmImage = bmImage;
        }
        protected Bitmap doInBackground(String... urls)
        {
            String urldisplay = urls[0];
            Bitmap bitmap = null;
            try
            {
                InputStream in = new java.net.URL(urldisplay).openStream();
                bitmap = BitmapFactory.decodeStream(in);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
            return bitmap;
        }
    
        protected void onPostExecute(Bitmap result)
        {
            bmImage.setImageBitmap(result);
        }
    }
    

    如果我运行这个例子

    ImageViewLoader loader=new ImageViewLoader(imageView);
    loader.execute("http://localhost:8000/media/12");
    

    enter image description here

    图像显示成功,但如果图像不存在或连接错误,我会得到一个空的imageview,我想知道如何检查从doInBackground返回的位图是否是有效的图像,如果不是,那么我将把imageview可见性设置为GONE

    0 回复  |  直到 7 年前
    推荐文章