Java 从gallery中选择多个图像并显示在viewpager中

Java 从gallery中选择多个图像并显示在viewpager中,java,android,Java,Android,我有一个应用程序,我需要从gallery中选择多个图像并在viewpager中显示它们。我只选择了一个图像,并将其显示在图像视图中,如下所示: private void chooseImage() { Intent openGalleryIntent = new Intent(); openGalleryIntent.setType("image/*"); openGalleryIntent.putExtra(Intent.EXTRA_ALLOW_

我有一个应用程序,我需要从gallery中选择多个图像并在viewpager中显示它们。我只选择了一个图像,并将其显示在图像视图中,如下所示:

private void chooseImage() {
        Intent openGalleryIntent = new Intent();
        openGalleryIntent.setType("image/*");
        openGalleryIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
        openGalleryIntent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(openGalleryIntent, "Select Picture"), GALLERY_REQUEST_CODE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == GALLERY_REQUEST_CODE && resultCode == RESULT_OK && data != null && data.getData() != null) {
            Uri uri = data.getData();

            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
                if (photoMekanik) {
                    imageView.setImageBitmap(bitmap);
                    photoMekanik = false;
                } else if (photoElektonik) {
                    imageView2.setImageBitmap(bitmap);
                    photoElektonik = false;
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

}

您可以尝试使用github中的一个库来完成您的工作:

使用library可以轻松完成此操作

要拾取多个图像,只需执行以下操作

ImagePicker.create(this)
.multi() // multi mode (default mode)
.start(); // start image picker activity with request code
接收结果

在onActivityResult()中执行此操作

 @Override
protected void onActivityResult(int requestCode, final int resultCode, Intent data) {
    if (ImagePicker.shouldHandle(requestCode, resultCode, data)) {
        // Get a list of picked images
        List<Image> images = ImagePicker.getImages(data)
        // or get a single image only
        Image image = ImagePicker.getFirstImageOrNull(data)
    }
    super.onActivityResult(requestCode, resultCode, data);
}
@覆盖
受保护的void onActivityResult(int请求代码、最终int结果代码、意图数据){
if(ImagePicker.shoulHandle(请求代码、结果代码、数据)){
//获取已拾取图像的列表
列表图像=ImagePicker.getImages(数据)
//或者只获取一张图像
Image=ImagePicker.getFirstImageOrNull(数据)
}
super.onActivityResult(请求代码、结果代码、数据);
}

无法安装它