版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_20451879/article/details/83042861
activity之间的数据传递,非Intent莫属,主要是简单、方便;
- List传递,如果传递实体Bean,必须实现序列化 - Serializable (来自 此处)
activity A:
List<YunDanBean> listdetail = new ArrayList<YunDanBean>();
Intent intent = new Intent(WayBillActivity.this, WayBillMessage.class);
intent.putExtra("listdetail", (Serializable) listdetail);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
activity B:
yundanList = (List<YunDanBean>) getIntent().getSerializableExtra("listdetail");
- 传递Bitmap的几种简单方式(传递应该有问题,来自 此处)
方式1 :
场景 :有两个activity,A,B,从A进入B。先在A中将Bitmap写进去
activity A:
Resources res=getResources();
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.ic_launcher);
Bundle b = new Bundle();
b.putParcelable("bitmap", bmp);
Intent intent = new Intent(this, MainActivity2.class);
intent.putExtras(b);
startActivity(intent);
activity B:
Intent intent=getIntent();
Bundle b=intent.getExtras();
Bitmap bmp=(Bitmap) b.getParcelable("bitmap");
方式2 :
activity A:
Resources res=getResources();
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.ic_launcher);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] bytes=baos.toByteArray();
Bundle b = new Bundle();
b.putByteArray("bitmap", bytes);
Intent intent = new Intent(this, MainActivity2.class);
intent.putExtras(b);
startActivity(intent);
activity B:
Intent intent=getIntent();
Bundle b=intent.getExtras();
byte[] bytes=b.getByteArray("bitmap");
Bitmap bmp=BitmapFactory.decodeByteArray(bytes, 0, bytes.length);