我有一个带有URI的arrayList,我想要用gallery打开它。
这就是我现在所拥有的:
public void btnChoosePhotosClick(View v){
ArrayList<String> selectedItems = imageAdapter.getCheckedItems();
Toast.makeText(MainActivity.this, "Total photos selected: "+selectedItems.size(), Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Selected Items: " + selectedItems.toString());
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + selectedItems), "image/*");
startActivity(intent);
}
但这只是打开空白的画廊,文字“没有缩略图”
GetCheckItems()
public ArrayList<String> getCheckedItems() {
ArrayList<String> mTempArry = new ArrayList<String>();
for(int i=0;i<mList.size();i++) {
if(mSparseBooleanArray.get(i)) {
mTempArry.add(mList.get(i));
}
}
return mTempArry;
}
答案 0 :(得分:1)
而不是字符串,尝试获取Uri
// Instead of Strings, return the Uri of each file.
ArrayList<Uri> selectedItems = imageAdapter.getCheckedItems();
有一种叫做Uri.fromFile(file);
如果你设法传递imageAdapter.getCheckedItems();
上的文件Uri,它应该有用。
在你的意图上试试这个:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setType("image/*"); /* All Image Types */
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, selectedItems);
startActivity(intent);