Wählen Sie mehrere Bilder aus Android-Galerie
Also im Grunde, was ich versuche zu erreichen, ist die Eröffnung der Gallery
in Android und lassen den Benutzer wählen Sie multiple images
. Nun ist diese Frage gestellt wurde Häufig aber ich bin nicht zufrieden mit den Antworten. Vor allem, weil ich fand etwas Interessantes in de docs in meiner IDE (ich komme zurück, dazu später) und damit ich nicht wollen, verwenden Sie einen benutzerdefinierten adapter, sondern nur die Vanille.
Nun mein code für die Auswahl eines Bildes:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
Jetzt sind die Menschen SO und andere websites wil dir sagen du hast 2 Möglichkeiten:
1) verwenden Sie nicht ACTION_GET_CONTENT
aber ACTION_SEND_MULTIPLE
statt.
Das man nicht arbeiten. Dieser ist laut der docs für sending
Dateien und nicht retrieving
- und das ist genau das, was es tut. Bei der Verwendung von ACTION_SEND_MULTIPLE ich habe ein Fenster geöffnet bei meinem Gerät muss ich dort wählen Sie eine Anwendung zum senden meiner Daten zu. Das ist nicht das, was ich will, so Frage ich mich, wie die Leute haben diese erzielt mit dieser Lösung.. muss ich da etwas verpasst?
2) Implementieren Sie einen custom Gallery
. Nun ist dies meine Letzte option werde ich in Betracht ziehen, weil es imho nicht, was ich Suche, weil ich style es mir UND warum zum Teufel kann man einfach nicht wählen Sie mehrere Bilder in der Vanille-Galerie?
Muss es eine option für diese.. Nun ist die interessante Sache, was i ' V gefunden, ist dies:
Ich fand diese in der Dokumente-Beschreibung der ACTION_GET_CONTENT
.
Wenn der Anrufer in der Lage mehrere Rücksendungen (der Benutzer, der
mehrfach-Auswahl), dann kann es angeben EXTRA_ALLOW_MULTIPLE zu
dies anzugeben.
Dies ist ziemlich interessant. Hier sind Sie beziehen es auf den Anwendungsfall, in dem ein Benutzer kann wählen Sie mehrere Elemente?
Später sagen Sie in den docs:
Können Sie verwenden EXTRA_ALLOW_MULTIPLE, um dem Benutzer zu ermöglichen, wählen Sie mehrere
Elemente.
Also das ist ziemlich offensichtlich, richtig? Dies ist, was ich brauche. Aber meine folgende Frage ist: Wo kann ich dieses EXTRA_ALLOW_MULTIPLE
? Das traurige daran ist, dass ich nicht finden können, diese keine, wo in der Entwickler.android-guide und auch ist dies nicht als Konstante definiert, in der ABSICHT Klasse.
Jemand kann mir helfen, mit dieser EXTRA_ALLOW_MULTIPLE
?
InformationsquelleAutor der Frage Dion Segijn | 2013-10-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den EXTRA_ALLOW_MULTIPLE option gesetzt ist, auf die Absicht, durch die Absicht.putExtra () - Methode:
Ihre obige code sollte wie folgt Aussehen:
Hinweis: die
EXTRA_ALLOW_MULTIPLE
option ist nur verfügbar in der Android API 18 und höher.InformationsquelleAutor der Antwort Kyle Shank
Definieren, diese Variablen in der Klasse:
Lassen Sie uns davon Ausgehen, dass onClick auf einen button sollte es öffnen Sie die Galerie, um Bilder zu wählen
Dann sollten Sie überschreiben onActivityResult-Methode
BEACHTEN SIE, DASS:
die Galerie gibt Ihnen die Möglichkeit auszuwählen, multi-Bilder, so dass wir hier öffnen Sie alle Bilder, studio, die Sie können wählen Sie multi-Bilder von Ihnen.
und vergessen Sie nicht, fügen Sie Berechtigungen hinzu, um Ihre manifest -
SEHR WICHTIG:
getData(); um ein einheitliches Bild und ich habe gespeichert, es hier in imageEncoded String
wenn die Benutzer wählen Sie multi-Bilder dann
Sie sollten gespeichert werden, in der Liste
Also Sie haben zu prüfen, die null, die anderen
Wünsche dir einen schönen versuchen und andere
InformationsquelleAutor der Antwort Laith Mihyar
Ich hoffe, diese Antwort ist nicht zu spät. Da das gallery-widget nicht unterstützt Mehrfachauswahl standardmäßig, aber Sie können benutzerdefinierte die gridview, die akzeptiert Ihre multiselect Absicht. Die andere option ist die Erweiterung der Galerie-Ansicht, und fügen Sie in Ihren eigenen code, um die Mehrfachauswahl erlaubt werden.
Dies ist die einfache Bibliothek tun können: https://github.com/luminousman/MultipleImagePick
Update:
Von @ilsy Kommentar, CustomGalleryActivity in dieser Bibliothek verwenden
manageQuery
, die veraltet ist, so ist es sollte geändert werden, umgetContentResolver().query()
undcursor.close()
wie diese AntwortInformationsquelleAutor der Antwort R4j
Viele dieser Antworten haben ähnlichkeiten, aber fehlt der wichtigste Teil, die in
onActivityResult
prüfen Sie, obdata.getClipData
null ist vor überprüfungdata.getData
Den code zum Aufruf des Datei-Auswahl:
Den code, um alle der ausgewählten Bilder:
Beachten Sie, dass Android die Auswahl hat Bilder und Galerie verfügbar in einigen Geräten. Fotos können mehrere Bilder ausgewählt werden. Galerie können nur eins zu einem Zeitpunkt.
InformationsquelleAutor der Antwort Mira_Cole
Hallo code unten ist in Ordnung.
Wollen Sie mehr Klarstellungen.
http://mylearnandroid.blogspot.in/2014/02/multiple-choose-custom-gallery.html
InformationsquelleAutor der Antwort Ramesh Thangaraj
Ich hatte auch das gleiche Problem. Ich wollte auch so dass die Nutzer könnten Fotos leicht bei der Auswahl des Fotos aus der Galerie. Konnte nicht finden, eine native Möglichkeit dies zu tun, daher habe ich beschlossen, ein opensource-Projekt. Es ist ähnlich wie MultipleImagePick aber nur eine bessere Art und Weise der Umsetzung.
https://github.com/giljulio/android-multiple-image-picker
InformationsquelleAutor der Antwort Gil Julio
Versuchen, diese IntentChooser. Fügen Sie einfach einige Zeilen code, ich hab den rest für Sie.
PS: wie bereits bei der oben genannten Antworten, EXTRA_ALLOW_MULTIPLE ist nur für API >= 18. Und einige Galerie-apps nicht diese Funktion zur Verfügung (Google-Fotos und Dokumente (
com.android.documentsui
) arbeiten.InformationsquelleAutor der Antwort Tuan Chau
Smart android-Galerie mit mehrere Bild-Auswahl-Aktion.
Überprüfen Sie die demo auf meinem blog
Erstens stellen Taste für Aktion und Sie können es verwenden, für einzelne/mehrere
Für Einzelne Bild-Auswahl:-
- leuchtend.ACTION_PICK für die Auswahl der einzelnen Bild.
Für Mehrere Bild-Auswahl:-
- leuchtend.ACTION_MULTIPLE_PICK für die Auswahl mehrere Bild.
MainActivity.java
In AndroidManifest.xml
InformationsquelleAutor der Antwort GeekOnJava