Vì vậy, về cơ bản những gì tôi đang cố gắng đạt được là mở Gallery
trong Android và để người dùng chọn multiple images
. Bây giờ câu hỏi này đã được hỏi thường xuyên nhưng tôi không hài lòng với câu trả lời. Chủ yếu là vì tôi tìm thấy thứ gì đó thú vị trong de docs trong IDE của mình (tôi sẽ quay lại điều này sau) và do đó tôi không muốn sử dụng bộ điều hợp tùy chỉnh mà chỉ sử dụng bộ điều hợp vani.
Bây giờ mã của tôi để chọn một hình ảnh là:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
Bây giờ Mọi người trên SO và các trang web khác sẽ cho bạn biết bạn có 2 lựa chọn:
1) Không sử dụng ACTION_GET_CONTENT
mà ACTION_SEND_MULTIPLE
thay vào đó.
Cái này không hoạt động. Đây là theo tài liệu dành cho sending
tệp chứ không phải retrieving
và đó chính xác là những gì nó làm. Khi sử dụng ACTION_SEND_MULTIPLE, thiết bị của tôi đã mở một cửa sổ, nơi tôi phải chọn một ứng dụng để gửi dữ liệu của mình. Đó không phải là những gì tôi muốn, vì vậy tôi tự hỏi làm thế nào mọi người đạt được điều này với giải pháp này .. Tôi có bỏ lỡ điều gì không?
2) Thực hiện một custom Gallery
. Bây giờ đây là lựa chọn cuối cùng của tôi, tôi sẽ xem xét bởi vì đó không phải là thứ tôi đang tìm kiếm bởi vì tôi phải tự tạo kiểu cho nó VÀ tại sao bạn không thể chọn nhiều hình ảnh trong bộ sưu tập vani?
Phải có một lựa chọn cho việc này .. Bây giờ điều thú vị mà tôi tìm thấy là cái này:
Tôi tìm thấy cái này trong phần mô tả tài liệu của ACTION_GET_CONTENT
.
Nếu người gọi có thể xử lý nhiều mục trả lại (người dùng thực hiện nhiều lựa chọn), thì người gọi có thể chỉ định EXTRA_ALLOW_MULTIPLE để chỉ ra điều này.
Điều này khá thú vị. Ở đây họ đang đề cập đến trường hợp sử dụng mà người dùng có thể chọn nhiều mục?
Sau đó, họ nói trong tài liệu:
Bạn có thể sử dụng EXTRA_ALLOW_MULTIPLE để cho phép người dùng chọn nhiều mục.
Vì vậy, điều này là khá rõ ràng phải không? Đây là những gì tôi cần. Nhưng câu hỏi sau của tôi là: Tôi có thể đặt cái này ở EXTRA_ALLOW_MULTIPLE
đâu? Điều đáng buồn là tôi không thể tìm thấy điều này không có ở đâu trong hướng dẫn Develop.android và điều này cũng không được định nghĩa là một hằng số trong lớp INTENT.
Ai có thể giúp tôi với điều này EXTRA_ALLOW_MULTIPLE
?
EXTRA_ALLOW_MULTIPLE
cho phép bạn chọn nhiều mục. Nhận các URI bằng cách gọi getClipData()
ý định trả lại trong onActivityResult
. Vấn đề duy nhất là widget thư viện sẽ không cho phép nhiều lựa chọn. Trong trường hợp đó click bất kỳ hình ảnh sẽ kết thúc choser và bạn có thể nhận được URI (mặt hàng duy nhất) bằng cách gọi getData
trên trở ý định