Pun*_*r90 5 android android-gallery android-listview
我想在我的应用程序的onActivity Result方法中从图库中获取多个图像,但我无法为其创建游标.如果我不使用光标,我无法获得所有图像的Uris.如果我必须选择单个图像,代码非常简单:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
// String picturePath contains the path of selected Image
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我.
Gallery似乎不允许多个项目,但可能响应选择器意图的其他应用程序可以(例如我的Samsung Galaxy平板电脑上的照片).您可以使用getClipData()来获取多个Uris,例如:
ClipData clip = data.getClipData();
for(int i = 0; i < clip.getItemCount(); i++) {
ClipData.Item item = clip.getItemAt(i);
Uri uri = item.getUri();
// Process the uri...
}
Run Code Online (Sandbox Code Playgroud)
请注意,您可能还会像在您的问题中那样获得data.getData()的响应,因此有必要同时检查两个...
我不确定 SDK 是否允许您使用意图来选择多个图像。您可能必须开发自己的图像选择器。
您可以探索这个 github 存储库并了解它是如何工作的: https://github.com/luminousman/MultipleImagePick
| 归档时间: |
|
| 查看次数: |
2668 次 |
| 最近记录: |