android – 如何将imageview从一个活动发送到其他活动

前端之家收集整理的这篇文章主要介绍了android – 如何将imageview从一个活动发送到其他活动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在第一个活动的listview中有一个imageview,
我想将我的imageview发送到listview项目的clicl上的第二个活动.

我试过以下代码

将可绘制图像转换为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();

通过意图发送 –

Intent intent=new Intent(PicturesList.this,PictureDetail.class);
                intent.putExtra("Bitmap",byteArray);
                startActivity(intent);

在第二次活动中 –

Bundle extras = getIntent().getExtras();
        byteArray = extras.getByteArray("Bitmap");

Bitmap bmp = BitmapFactory.decodeByteArray(byteArray,byteArray.length);
                        imageview.setImageBitmap(bmp);

但问题在于 –

Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);

这需要可绘制的图像,我有imageview,
我可以将我的imageview转换为drawable吗?还是别的什么?
如何发送imageview而不是drawable.
之前有人这样做过.

这就是我在imageview中设置图像的方法

new AsyncTask403922_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();
最佳答案
您不需要将位图转换为字节数组.位图是可以分配的,因此您只需使用putParcelable(String,Parcelable)将其添加到Bundle即可.

编辑:

例如:

Bundle extras = new Bundle();
extras.putParcelable("Bitmap",bmp);
intent.putExtras(extras);
startActivity(intent);

然后在第二个活动中:

Bundle extras = getIntent().getExtras();
Bitmap bmp = (Bitmap) extras.getParcelable("Bitmap");
原文链接:https://www.f2er.com/android/430695.html

猜你在找的Android相关文章