所以基本上我想要实现的是Gallery
在Android中打开,然后让用户选择multiple images
。现在,这个问题已被频繁问到,但我对答案不满意。主要是因为我在IDE的de docs中发现了一些有趣的东西(我稍后会再介绍),因此我不想使用自定义适配器,而只想使用普通适配器。
现在,我选择一张图片的代码是:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
现在,SO和其他网站上的人们会告诉您有两种选择:
1)不要使用ACTION_GET_CONTENT
而是使用ACTION_SEND_MULTIPLE
。
这是行不通的。这是根据文档的sending
文档而不是文档,retrieving
而这正是它的功能。使用ACTION_SEND_MULTIPLE时,我的设备打开了一个窗口,必须选择一个应用程序以将数据发送至该窗口。那不是我想要的,所以我想知道人们是如何通过这种解决方案实现这一目标的。
2)实施custom Gallery
。现在,这是我要考虑的最后一个选择,因为恕我直言,这不是我要搜索的内容,因为我必须自己设置样式,为什么您根本无法在香草廊中选择多个图像?
现在必须有一个选择。现在,我发现有趣的事情是:
我在的docs描述中找到了它ACTION_GET_CONTENT
。
如果调用方可以处理多个返回的项目(用户执行多项选择),则可以指定EXTRA_ALLOW_MULTIPLE进行指示。
这很有趣。在这里,他们指的是用户可以选择多个项目的用例?
后来他们在文档中说:
您可以使用EXTRA_ALLOW_MULTIPLE允许用户选择多个项目。
所以这很明显吧?这就是我所需要的。但是我的以下问题是:我该放在哪里EXTRA_ALLOW_MULTIPLE
?可悲的是,我在developers.android指南中找不到此位置,并且在INTENT类中也未将其定义为常量。
有人可以帮助我EXTRA_ALLOW_MULTIPLE
吗?
EXTRA_ALLOW_MULTIPLE
可以选择多个项目。通过调用getClipData()
中返回的意图来获取URI onActivityResult
。唯一的问题是图库窗口小部件不允许多项选择。在这种情况下,单击任何图像将完成选择者,您可以通过调用getData
返回的意图来获取(单个项目的)URI