Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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 从库中选择多个图像_Android - Fatal编程技术网

Android 从库中选择多个图像

Android 从库中选择多个图像,android,Android,我是Android的初学者 我想从gallery中选择多个图像,并以水平滚动视图查看它们。目前,我可以选择一个单一的图像,并查看它。为了便于查看,我引用了单个imageView的id。但谷歌搜索“选择多幅图像”让我意识到我需要使用GridView、recycler view或listview。我还不清楚解决办法。有什么帮助吗?开始活动,选择具有此目的的图像 Intent intent = new Intent(); intent.setType("image/*"); intent.putEx

我是Android的初学者


我想从gallery中选择多个图像,并以水平滚动视图查看它们。目前,我可以选择一个单一的图像,并查看它。为了便于查看,我引用了单个imageView的id。但谷歌搜索“选择多幅图像”让我意识到我需要使用GridView、recycler view或listview。我还不清楚解决办法。有什么帮助吗?

开始活动,选择具有此目的的图像

Intent intent = new Intent();
intent.setType("image/*");

intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);

intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), UploadingHelper.REQUEST_CODE);
然后选择任意数量的图像,然后在“活动结果”中

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && intent.getClipData() != null) {
            int numberOfImages = intent.getClipData().getItemCount();
for (int i = 0; i < numberOfImages; i++) {
try {
      ImageData imageData = new ImageData();
      imageData.uri = intent.getClipData().getItemAt(i).getUri();

      Bitmap bitmap = getBitmap(intent.getClipData().getItemAt(i).getUri());
     imageData.icon = Bitmap.createScaledBitmap(bitmap, getPixelsFromDP(widthOfImages), getPixelsFromDP(widthOfImages), false);

      images.add(imageData);
      } catch (Exception e) {
              Logger.log(e);
           }
      }

}
对不起,我忘了添加方法

private int getPixelsFromDP(float dp) {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,  Resources.getSystem().getDisplayMetrics());
    }

水平滚动视图只是一个父视图,它需要一些子视图放置GridView、recycler视图或listview,并使用适配器类获取多个图像上载意味着什么?您是在服务器上上载还是希望在水平滚动视图中显示图像?您可以使用第三方库,如@nithiny.n.v谢谢您提供的信息。您能告诉我哪些适配器类可以满足我的需求吗?@Avi从galleryThankyou中选择后,只需在水平滚动视图中查看即可。然后在选择之后,我们如何在水平滚动条上显示它?你能给我一个xml文件的例子吗?我可以,但很难在这里发布,因为这是一篇很长的文章。创建一个ImageData列表,并将所有接收到的图像添加到该列表中。使用该列表可将图像添加到视图中。使用带有LinearLayoutManger.HorizontalOK的RecyclerView代替水平滚动视图!我试试看!谢谢:)
private int getPixelsFromDP(float dp) {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,  Resources.getSystem().getDisplayMetrics());
    }