HeyGuadah Posté(e) 22 novembre 2015 Share Posté(e) 22 novembre 2015 Bonjour les développeurs ! Je me permets aujourd'hui de revenir vers vous car j'ai un léger problème dans mon projet. En effet je me suis mit en tête de faire passer un Bitmap dans un intent pour le faire naviguer entre deux activités. J'ai réussis à construire l'activité pour envoyer le bitmap en question dans un intent mais je me suis rendu compte que je n'arrivais pas à le récupérer dans mon activité d'arriver. J'imagine donc qu'il est impossible d'envoyer un Bitmap directement et qu'il doit y avoir une méthode pour le convertir dans un autre format ou d'utiliser l'id de l'image pour l'intent mais je dois avouer que je sèche un peu, c'est actuellement hors de mes compétences. Avez-vous des idées afin de m'aider dans mon projet ? Je vous partage mon activité public class RegisterPhoto extends AppCompatActivity implements View.OnClickListener { private static final int RESULT_LOAD_IMAGE = 1; private ImageView imageToUpload; private Button bUploadImage, btn_check; @[member=override] protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register_photo); imageToUpload = (ImageView) findViewById(R.id.imageToUpload); bUploadImage = (Button) findViewById(R.id.bUploadImage); btn_check = (Button) findViewById(R.id.btn_send); bUploadImage.setOnClickListener(this); btn_check.setOnClickListener(new View.OnClickListener() { @[member=override] public void onClick(View v) { imageToUpload.buildDrawingCache(); final Bitmap photo = imageToUpload.getDrawingCache(); if (photo != null) { Intent intent = new Intent(getApplicationContext(), RegisterGeoloc.class); Bundle extras = new Bundle(); //* extras.putParcelable("imagebitmap", photo); intent.putExtra("imagebitmap", photo); //Send image startActivity(intent); Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.ok), Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.nok), Toast.LENGTH_SHORT).show(); } } }); } public void onClick(View v){ switch (v.getId()){ case R.id.bUploadImage: Intent galleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(galleryIntent, RESULT_LOAD_IMAGE); break; } } @[member=override] protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && data != null) { Uri selectedImage = data.getData(); imageToUpload.setImageURI(selectedImage); } } L'image est choisit par l'utilisateur dans son espace de stockage externe et la boucle if ne renvoie pas null pour la variable photo. Merci pour vos réponses ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gob0 Posté(e) 24 novembre 2015 Share Posté(e) 24 novembre 2015 Salut, vu que tu as envoyé ton image avec un "putExtra", tu dois ensuite la récupérer avec getExtra. Ensuite, à quoi sert de faire puisque tu n'envoies pas l'objet "extras"? extras.putParcelable("imagebitmap", photo); intent.putExtra("imagebitmap", photo); Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.