我有一个存储在Arraylist中的图像uri,我使用putExtra()把这个Arraylist放在intent中。但是我不知道如何以uri形式获取ArrayList?
else if(data!=null){
clipData = data.getClipData();
ArrayList<Uri> arrayList = new ArrayList<>();
for(int i=0;i<clipData.getItemCount();i++){
Uri uri=clipData.getItemAt(i).getUri();
arrayList.add(uri);
}
Intent intent=new Intent(getBaseContext(),BackUp_Main.class);
intent.putExtra("multipleImage",arrayList);
startActivity(intent);
}
我怎样才能从Uri中获得Arraylist?
答案 0 :(得分:3)
从BackUp_Main活动中,您可以收到以下这样的arraylist:
list = (ArrayList<Uri>) getIntent().getSerializableExtra(YOUR_KEY);
阅读本文了解更多信息: Passing ArrayList through Intent
答案 1 :(得分:1)
Intent
提供了将不同的ArrayLists放入其中的方法。当Uri
实施Parcelable
时,您应该使用putParcelableArrayListExtra()
:
intent.putParcelableArrayListExtra("multipleImage", arrayList);
ArrayList<Uri> arrayList = intent.getParcelableArrayListExtra("multipleImage");
答案 2 :(得分:0)
将每个uri转换为字符串,然后将字符串数组转换为intent。你也可以从中提取字符串arrat并解析uris