2015-06-11 21 views
7

Sau khi nhấp vào một nút tôi đang nhận được nội dung từ nhà cung cấpCó thể cho phép người dùng lựa chọn nhiều tệp trong khung truy cập bộ nhớ .. không?

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

bây giờ tôi muốn cho phép người sử dụng cho nhiều lựa chọn là nó có thể.?

+0

bạn hiển thị nội dung của mình trong một chế độ xem danh sách hay không? sau đó chỉ cần sử dụng chức năng longclick từ listview –

+0

theo bạn tôi phải mang tất cả dữ liệu từ tất cả các thư mục vào một listview mà sẽ được nhức đầu và người dùng sẽ bị kích thích bằng cách di chuyển để chọn tập tin. có cách nào khác không? – SAM

+0

bạn cần phải làm rõ câu hỏi của mình, để sử dụng nhiều lựa chọn bạn thường sử dụng chế độ xem danh sách, vì bạn cần hiển thị nhiều mục mà người dùng có thể chọn hoặc bạn muốn gì? –

Trả lời

7

Không biết nếu bạn giải quyết vấn đề của bạn, nhưng đây là cách tôi thực hiện một sự lựa chọn với các lưu trữ truy cập Khung

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

Trong phương pháp Hoạt động Kết quả nhiều, bạn chỉ cần lặp lại các ClipData trong tiếp cận mục đích tham số

@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()); 
      } 
     } 
    } 
} 

Để chọn nhiều tệp trong Giao diện người dùng hoạt động khung truy cập lưu trữ, chỉ cần nhấn bất kỳ mục nào và chọn nhiều sẽ kích hoạt.

+0

Lỗi ứng dụng! Ngoài ra, tôi chỉ có thể chọn một tệp cùng một lúc. Sau khi chọn tập tin duy nhất tôi nhấn OK và ý định lựa chọn trở lại. Lần này ứng dụng bị lỗi! –

+0

clipdata sẽ rỗng nếu chỉ một tệp được nhấp. Kiểm tra xem clipdata có rỗng không, sau đó tiến hành chọn nhiều tệp. nếu null sau đó: 'data.getData()' – skarfa

Các vấn đề liên quan