2015-06-11 14 views
7

Po kliknięciu na przycisk Dostaję treść od dostawcyCzy możliwe jest zezwolenie użytkownikowi na wielokrotny wybór pliku w strukturze dostępu do pamięci ..?

Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT); 
     i.addCategory(Intent.CATEGORY_OPENABLE); 
     i.setType("image/*"); 
     startActivityForResult(i, REQUESTCODE); 

teraz chcę, aby umożliwić łatwy do wielokrotnego wyboru jest to możliwe.?

+0

wyświetlasz zawartość w widoku listy? następnie użyj funkcji longclick z widoku listy –

+0

zgodnie z Tobą muszę przenieść wszystkie dane ze wszystkich katalogów do listy, która będzie ból głowy i użytkownik będzie denerwować przewijanie w celu wybrania pliku. czy istnieje inny dostępny sposób? – SAM

+0

musisz wyjaśnić swoje pytanie, do korzystania z wielu wyborów zazwyczaj używasz widoku listy, ponieważ musisz pokazać wiele elementów, które użytkownik może wybrać lub czego chcesz? –

Odpowiedz

7

nie wiem, czy rozwiązać problem, ale oto jak I wdrożone wielokrotnego wyboru z ramowym bagażu dostęp

Intent filePickerIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT); 
    filePickerIntent.setType("*/*"); 
    filePickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); 
    startActivityForResult(filePickerIntent, REQUEST_CODE); 

W sposobie Wynik aktywny, wystarczy iteracyjne ClipData w intencyjnego parametr

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if(requestCode == REQUEST_CODE) 
    { 
     if(data != null) 
     { 
      ClipData clipData = data.getClipData(); 
      for(int i = 0; i < clipData.getItemCount(); i++) 
      { 
       ClipData.Item path = clipData.getItemAt(i); 
       Log.i("Path:",path.toString()); 
      } 
     } 
    } 
} 

Aby wybrać wiele plików w pamięci dostępu ramowego Aktywny UI, wystarczy przytrzymać nacisnąć dowolny przedmiot i wyboru spośród wielu aktywuje.

+0

Awaria aplikacji! Mogłem też wybrać tylko jeden plik naraz. Po wybraniu tylko pliku nacisnąłem OK i intencja wybieracza pojawiła się ponownie. Tym razem aplikacja się zawiesiła! –

+0

clipdata będzie miała wartość NULL, jeśli kliknięty zostanie tylko jeden plik. Sprawdź, czy clipdata ma wartość NULL, a następnie przejdź do wyboru wielu plików. jeśli null to: 'data.getData()' – skarfa

Powiązane problemy