2017-02-07 16 views
0

Используя этот код, чтобы передать пути к некоторым файлам, но моя проблема заключается в том, как перейти на другую деятельность, каждый путь один за другим?С помощью намерения передать пути файлов, но как получить путь к каждому файлу в другой активности?

спасибо.

  ArrayList<Uri> files3 = new ArrayList<Uri>(); 

      for (int i = 0; i < thumbnailsselection.length; i++) { 
       if (thumbnailsselection[i]) { 
        File file = new File(filePaths.get(i).getPath()); 
        files3.add(Uri.fromFile(file)); 

       } 
      } 

       Intent intentmove = new Intent(getActivity(), Main.class); 
       intentmove.putExtra("files", files3.toString()); 
       startActivity(intentmove); 
+0

что тип 'files3'? –

+0

Извините, тип Uri. – user1251064

ответ

1

В первой деятельности,

Intent intentmove = new Intent(getActivity(), Main.class); 
intentmove.putParcelableArrayListExtra("files", files3); 
startActivity(intentmove); 

И в следующей деятельности,

ArrayList<Parcelable> uris = 
     getIntent().getParcelableArrayListExtra("files"); 
for (Parcelable p : uris) { 
    Uri uri = (Uri) p; 
} 
+0

Да, mdg5435, вот что я делаю. Проблема в том, что если 3 файла на «файлах», как я могу пропустить этот путь для каждого из них отдельно ........ – user1251064

+0

Можете ли вы поделиться, какое значение вы передаете 'files3' –

+0

files3 = {ArrayList @ 830053966992} size = 3 0 = {Uri $ HierarchicalUri @ 830053967240} "файл: ///storage/emulated/0/WhatsApp/Media/WhatsApp%20Images/Sent/IMG-20160913-WA0001.jpg" 1 = {Uri $ HierarchicalUri @ 830053967592} "file: ///storage/emulated/0/WhatsApp/Media/WhatsApp%20Images/Sent/IMG-20160913-WA0005.jpg" 2 = {Uri $ HierarchicalUri @ 830053967872} "файл: // /storage/emulated/0/WhatsApp/Media/WhatsApp%20Images/Sent/IMG-20160913-WA0015.jpg " – user1251064

0

передать их как массив строк.

intentmove.putExtra("files", ** Array of Files goes here **); 

Получить их с:

getIntent().getStringArrayExtra("files"); 
0

Используйте этот код является второй активности

String path1=getIntent().getStringExtra("file1"); 
String path2=getIntent().getStringExtra("file2"); 
String path3=getIntent().getStringExtra("file3");