Für einige Gründe versuchen alle Antworten in diesem Thread, in onActivityResult()
, die empfangene Uri
nachzubearbeiten, z. B. den tatsächlichen Pfad des Bildes zu erhalten und dann BitmapFactory.decodeFile(path)
zu verwenden, um das Bitmap
zu erhalten.
Dieser Schritt ist unnötig. Die Klasse ImageView
hat eine Methode namens setImageURI(uri)
. Übergeben Sie Ihre uri und Sie sollten fertig sein.
Uri imageUri = data.getData();
imageView.setImageURI(imageUri);
Für ein vollständiges funktionierendes Beispiel könnten Sie hier einen Blick darauf werfen: http://androidbitmaps.blogspot.com/2015/04/loading-images-in-android-part-iii-pick.html
PS:
Das Bitmap
in einer separaten Variablen abzurufen würde Sinn machen in Fällen, in denen das zu ladende Bild zu groß ist, um in den Speicher zu passen, und eine Skalierung erforderlich ist, um OutOfMemoryError
zu verhindern, wie im Antwort von @siamii gezeigt.
1 Stimmen
Schau dir diese Antwort an, dort habe ich einen verbesserten Code gepostet, um auch Auswahl aus Dateimanagern zu verarbeiten stackoverflow.com/questions/2169649/…