今天做一个应用,新增一笔记录到sqlite中去,
记录中有一个字段是一个图像,在新增界面中我用的是imageview控件,点击弹出一个对话框,列出可供选择的图像,单击选择,但是提交后图像显示不正确,只显示一个黑框,我的代码是这样的
Java代码
Bitmap image = Bitmap.createBitmap(imageView.getDrawable(). .....);
从imageview的Drawable里取出信息构造一个bitmap,事实证明是行不通的。
[java] view plaincopy
Bitmap image = Bitmap.createBitmap(imageView.getDrawable(). .....);
从imageview的Drawable里取出信息构造一个bitmap,事实证明是行不通的。
搜索了一下怎么把ImageView转换成Bitmap,发现网上提供一种方法:
imageView.buildDrawingCache();
Bitmap bmap = imageView.getDrawingCache();
我试了一下,成功是成功了,但是得到的bitmap大小不对,原本很大的,放到列表里显示得超小,不是我想要的结果。
后来试了一下:
Java代码
Bitmap image = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
[java] view plaincopy
Bitmap image = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
ImageView mImageView = (ImageView)findViewById(R.id.item_image);
mImageView.setImageBitmap(Bitmap);
Bitmap可以直接用imageview显示的啊
mImageView.setImageBitmap(mBitmap);就可以出来啊