HeyGuadah Posted November 22, 2015 Share Posted November 22, 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 ! Quote Link to comment Share on other sites More sharing options...
gob0 Posted November 24, 2015 Share Posted November 24, 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); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.