当前位置: 代码迷 >> Android >> Intent 怎么传递一个对象
  详细解决方案

Intent 怎么传递一个对象

热度:45   发布时间:2016-05-01 21:17:46.0
Intent 如何传递一个对象
这个对象有很多成员变量,其中有的成员又是其他类的对象。例如下:

class A
{
  int i;
  boolean b;
  String s;
};


class B {
  A a;
  int i;
  boolean b;
  String s;
  ……
};
  

B b;

我如何用Intent 将b传递到新的窗口呢?

难到B类 非要实现 Bundle 或 Parcelable 或者 Serializable么?

如果不去实现这几个接口,那么有什么办法用Intent传递b对象。

别告诉我说 Intent.putExtras(i) ,Intent.putExtras(b),Intent.putExtras(s)……,即便是这样如何 Intent.putExtras(a)呢?

------解决方案--------------------
对象要实现Parcelable 接口,发送是一样的,调用getParcelableExtra取得传递过来的对象
------解决方案--------------------
转成字符串? 继承Intent?
------解决方案--------------------
如果不是跨进程传递的话,直接传过去使用,也是没有问题的。
------解决方案--------------------
探讨

谢谢1楼回答,但是我问题中已经说了 如果不去实现这几个接口,还能有其他办法么?

------解决方案--------------------
传输对象的类必须实现Parcelable或者Serializable接口,不然无法传输。
------解决方案--------------------
Intent intent=new Intent();
intent.setClass(MainActivity.this,目标.class);
MainActivity.this.startActivity(intent);
------解决方案--------------------
直接设为静态变量试试~
------解决方案--------------------
对象要实现Parcelable 接口,发送是一样的,调用getParcelableExtra取得传递过来的对象
  相关解决方案