@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//Uri[] uri;
if(requestCode==Image_code && resultCode== Activity.RESULT_OK && data!=null && data.getData() != null) {
/*
Log.d("alllpath","inside if");
String[] count={MediaStore.Images.Media.DATA};
Log.d("alllpath1","inside if");
Log.d("alllpath2",""+count.length);
for(int a=0;a<count.length;a++) {
uri = {data.getData()};
Log.d("alllpath3",""+uri);
}
*/
/*Log.d("alllpath1","inside if");
final String[] columns = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID };
Log.d("alllpath1",""+columns.length);
final String orderBy = MediaStore.Images.Media.DATE_TAKEN;
Cursor imagecursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,null, orderBy + "DESC");
*/
/*
String[] all_path = data.getStringArrayExtra(MediaStore.Images.Media.DATA);
Log.d("alllpath",""+all_path.length);
ArrayList<gallryadapter> dataT = new ArrayList<gallryadapter>();
for (String string : uri) {
//CustomGallery item = new CustomGallery();
gallryadapter item = new gallryadapter(MainActivity.this);
item.im2= string;
dataT.add(item);
}
*/
Uri uri=data.getData();
Log.d("mydatauri",""+uri);
try {
bm= MediaStore.Images.Media.getBitmap(getContentResolver(),uri);
img.setImageBitmap(bm);
// alpath.add(bm);
//g.setAdapter(new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,alpath));
} catch (IOException e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
我想你想在网格视图中显示sd卡中的选定图像。
为此创建一个URI的全局ArrayList:
ArrayList<URI> imagesList = new ArrayList<>();
现在,在从SD卡/图库中选择图像后,将此URI添加到此imageList中,您将获得onActivityResult。 将此imageList传递给适配器并调用
notifyDataSetChanged().
在您的适配器中执行以下代码行,以便在onActivityResult中显示URI到图像视图,以设置特定的图像视图(img):
try {
bm= MediaStore.Images.Media.getBitmap(getContentResolver(),uri);
img.setImageBitmap(bm);
} catch (IOException e) {
e.printStackTrace();
}
已经完成了。