读书人

Intent 怎么传递一个对象

发布时间: 2012-05-12 15:39:31 作者: rapoo

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取得传递过来的对象

读书人网 >Android

热点推荐