j'ai et ImageView et il est censé être rempli d'une image de la galerie avec ce code:setImageBitmap() ne fonctionne pas
Intent getIntent = new Intent(Intent.ACTION_GET_CONTENT);
getIntent.setType("image/*");
Intent pickIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
pickIntent.setType("image/*");
Intent chooserIntent = Intent.createChooser(getIntent, "Pick an image.");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] {pickIntent});
startActivityForResult(chooserIntent, PICK_IMAGE_REQUEST);
Maintenant, tout va bien dans cette partie du code, le problème est dans onActivityResult(), exactement dans setImageBitmap() car imageView n'adopte pas l'image de Gallery. Ceci est le code de onActivityResult():
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == PICK_IMAGE_REQUEST || resultCode == PromoUpload.RESULT_OK){
Uri selectedImage = data.getData();
String[] filepathColumm = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filepathColumm, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filepathColumm[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
Bitmap bitmap = BitmapFactory.decodeFile(picturePath);
imagePromo.setImageBitmap(bitmap);
pictureFlag = 1;
}
I Toast l'attribut picturePath
et il est affiché ok, le problème est exactement ici:
Bitmap bitmap = BitmapFactory.decodeFile(picturePath);
imagePromo.setImageBitmap(bitmap);
Mais je ne sais pas ce que je fais faux. Tel est le XML du ImageView:
<ImageView
android:id="@+id/imageView_promo"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerHorizontal="true"
android:padding="1dp" />
J'ai aussi essayé de sélectionner des images de tailles multiples, mais il ne semble pas fonctionner ...
merci! le remplacement a aidé. Quoi qu'il en soit, comme je l'ai dit, j'essaierai d'implanter Glide ou Picasso dans mon projet. –