如何在Android中的GridView中显示多个图像

时间:2016-11-26 08:38:11

标签: android

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

}

1 个答案:

答案 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();
    }

已经完成了。