Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从通用图像加载程序(GridView)获取位图_Android_Bitmap_Universal Image Loader - Fatal编程技术网

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();