【发布时间】:2016-11-07 19:23:47
【问题描述】:
我正在尝试从我的图库中获取图像并将它们上传到服务器。我想允许用户从图库中选择多个图像。当我选择两个或更多图像时,效果非常好。但是当我只选择一个图像时,它会忽略它并且什么都不返回。这是我的代码,当没有剪辑数据为空时,我正在打印消息
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 10 && resultCode == Activity.RESULT_OK) {
if(data!=null)
{
ClipData clipData = data.getClipData();
if (clipData != null) {
bitmaps_group=new Bitmap[clipData.getItemCount()];
for (int i = 0; i < clipData.getItemCount(); i++) {
ClipData.Item item = clipData.getItemAt(i);
Uri uri = item.getUri();
try {
bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
bitmaps_group[i]=MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
} catch (IOException e) {
e.printStackTrace();
}
if(i==4)
i=clipData.getItemCount()+1;
}
new Encode_image().execute();
}
else
Toast.makeText(getActivity(),"error",Toast.LENGTH_SHORT).show();
}
}
}
在这里我调用打开画廊:
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("r1 clikcid");
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"), 10);
}
});
【问题讨论】:
-
Toast.makeText(getActivity(),"error",Toast.LENGTH_SHORT).show();更好:Toast.makeText(getActivity(),data,getData().toString(), Toast.LENGTH_SHORT).show();
标签: java android android-intent android-gallery