Android 从通用图像加载程序(GridView)获取位图
我使用在Android 从通用图像加载程序(GridView)获取位图,android,bitmap,universal-image-loader,Android,Bitmap,Universal Image Loader,我使用在网格视图中显示图像。但是,在提供的示例中,他通过在单击项目时传递数组的位置来获取图像: @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent i = new Intent(context, DoneDiscardActivity.class); i.putExtra("pos", position + "");
网格视图中显示图像。
但是,在提供的示例中,他通过在单击项目时传递数组的位置来获取图像:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent(context, DoneDiscardActivity.class);
i.putExtra("pos", position + "");
startActivity(i);
}
});
但是,加载实际点击的图像
我试过但没有成功:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ImageView iv = (ImageView)view.findViewById(R.id.grid_item_image);
Drawable d = iv.getDrawable();
Bitmap bitmap = Bitmap.createBitmap(d.getIntrinsicWidth(), d.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
}
});
@覆盖
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
ImageView iv=(ImageView)view.findViewById(R.id.grid\u item\u image);
可提取d=iv.getDrawable();
位图Bitmap=Bitmap.createBitmap(d.getIntrinsicWidth(),d.getIntrinsicHeight(),Bitmap.Config.ARGB_8888);
}
});
是的,您可以通过这种方式在您的onimclick
监听器中执行此操作
ImageView iv = (ImageView) view.findViewById(R.id.grid_item_image);
Drawable drawable = iv.getDrawable();
if (drawable instanceof BitmapDrawable) {
BitmapDrawable d = (BitmapDrawable) drawable;
Bitmap bitmap = d.getBitmap();//Required bitmap
}
你也可以用这个
BitmapDrawable bmdr = (BitmapDrawable)iv.getDrawable();
Bitmap mybmp = bmdr.getBitmap();
注意:BitmapDrawable构造函数也不推荐使用。您是否正确单击了图像?是。实施效果良好。它正在完美加载。好的,现在检查我的答案。语句
Bitmap Bitmap=Bitmap.createBitmap(d.getIntrinsicWidth(),d.getIntrinsicHeight(),Bitmap.Config.ARGB_8888)代码>不会为您提供ImageView
的图像。它只需创建一个位图
,其宽度和高度等于图像视图中图像的宽度和高度
…感谢您澄清@GopalRaoYes我刚才在回答中遗漏了方法词。谢谢。这两个答案都有效。但是,我必须把他标记为正确的人,因为他是第一个。不过你应该投一票:)
BitmapDrawable bmdr = (BitmapDrawable)iv.getDrawable();
Bitmap mybmp = bmdr.getBitmap();