how to send imageview from one activity to other
10,507
You don't need to convert the Bitmap to a byte array. Bitmap is parcelable so you can just use putParcelable(String, Parcelable)
to add it to the Bundle.
Edit:
For example:
Bundle extras = new Bundle();
extras.putParcelable("Bitmap", bmp);
intent.putExtras(extras);
startActivity(intent);
Then in the second activity:
Bundle extras = getIntent().getExtras();
Bitmap bmp = (Bitmap) extras.getParcelable("Bitmap");
Comments
-
Ani almost 2 years
I have an imageview in listview in first activity, I want to send my imageview into second activity on clicl of listview item.
I have tried following code-
Convert drawable image into bytearray:-
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] byteArray = stream.toByteArray();
Sending through Intent-
Intent intent=new Intent(PicturesList.this,PictureDetail.class); intent.putExtra("Bitmap", byteArray); startActivity(intent);
In second activity-
Bundle extras = getIntent().getExtras(); byteArray = extras.getByteArray("Bitmap");
and
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length); imageview.setImageBitmap(bmp);
But Problem is here-
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
This require drawable image and i have imageview, Can I convert my imageview into drawable? or anything alse? How to send imageview instead of drawable. Anybody have done this before.
This is how I set image in imageview
new AsyncTask<Void,Void,Void>() { @Override protected Void doInBackground(Void... params) { try { URL newurl = new URL("http://java.sogeti.nl/JavaBlog/wp-content/uploads/2009/04/android_icon_256.png"); bitmap= BitmapFactory.decodeStream(newurl.openConnection().getInputStream()); //bitmap = Bitmap.createScaledBitmap(bitmap, 50,50, true); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // bitmap=imageLoader.DisplayImage("http://farm3.static.flickr.com/2199/2218403922_062bc3bcf2.jpg", imageview); //bitmap = Bitmap.createScaledBitmap(bitmap, imageview.getWidth(), imageview.getHeight(), true); return null; } @Override protected void onPostExecute(Void result) { super.onPostExecute(result); imageview.setImageBitmap(bitmap); } }.execute();
-
Ani over 11 yearscan u elabborate on this. Bundle extras=new Bundle(); extras.putParcelable("Bitmap", bitmap); is it write?
-
Ani over 11 yearsI have set that image to imageview. Do u mean I should send imageview id to next activity through intent.
-
Ani over 11 yearshow much data can we send through intent. Is the large size image can create problem for me?