如何解析Uri ArrayList <uri>?

时间:2016-06-24 17:12:14

标签: android

我有一个存储在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?

3 个答案:

答案 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