그래서 기본적으로 내가 달성하려는 Gallery
것은 Android에서을 열고 사용자가 multiple images
. 이제이 질문이 자주 제기 되었지만 답변이 만족스럽지 않습니다. 주로 IDE의 de 문서에서 흥미로운 것을 발견했기 때문에 (나중에 다시 설명합니다) 사용자 지정 어댑터를 사용하지 않고 바닐라 어댑터 만 사용하고 싶습니다.
이제 하나의 이미지를 선택하는 코드는 다음과 같습니다.
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
이제 SO 및 기타 웹 사이트의 사람들은 두 가지 옵션이 있음을 알려줍니다.
1) 사용하지 마십시오 ACTION_GET_CONTENT
하지만 ACTION_SEND_MULTIPLE
대신.
이것은 작동하지 않습니다. 이것은 sending
파일 에 대한 문서에 따른 것이지 retrieving
정확히 그것이하는 일입니다. ACTION_SEND_MULTIPLE을 사용할 때 데이터를 보낼 응용 프로그램을 선택해야하는 장치에 창이 열렸습니다. 그것은 내가 원하는 것이 아니기 때문에 사람들이이 솔루션으로 어떻게 이것을 달성했는지 궁금합니다.
2) custom Gallery
. 이제 이것은 내가 직접 스타일을 지정해야하기 때문에 내가 찾고있는 것이 아니기 때문에 고려할 마지막 옵션이며 왜 바닐라 갤러리에서 여러 이미지를 선택할 수 없습니까?
이것에 대한 옵션이 있어야합니다 .. 이제 내가 찾은 흥미로운 것은
이것입니다. 문서 설명에서 이것을 찾았습니다 ACTION_GET_CONTENT
.
호출자가 여러 개의 반환 된 항목을 처리 할 수있는 경우 (사용자가 다중 선택을 수행함)이를 나타 내기 위해 EXTRA_ALLOW_MULTIPLE을 지정할 수 있습니다.
이것은 꽤 흥미 롭습니다. 여기서 그들은 사용자가 여러 항목을 선택할 수있는 사용 사례를 언급하고 있습니까?
나중에 그들은 문서에서 다음과 같이 말합니다.
EXTRA_ALLOW_MULTIPLE을 사용하여 사용자가 여러 항목을 선택할 수 있습니다.
그래서 이것은 꽤 명백한가요? 이것이 내가 필요한 것입니다. 그러나 내 다음 질문은 : 이것을 어디에 넣을 수 있습니까 EXTRA_ALLOW_MULTIPLE
? 슬픈 점은 developers.android 가이드 에서 찾을 수 없으며 INTENT 클래스에서 상수로 정의되지 않았다는 것입니다.
누구든지 이것으로 나를 도울 수 EXTRA_ALLOW_MULTIPLE
있습니까?
EXTRA_ALLOW_MULTIPLE
통해 여러 항목을 선택할 수 있습니다. getClipData()
에서 반환 된 인 텐트를 호출하여 URI를 가져옵니다 onActivityResult
. 유일한 문제는 갤러리 위젯이 다중 선택을 허용하지 않는다는 것입니다. 이 경우의 클릭으로 모든 이미지는 choser을 완료하고 당신은 호출하여 (단일 항목) URI를 얻을 수 getData
반환 의도에