【发布时间】:2016-04-25 14:03:19
【问题描述】:
我正在尝试将一个对象从一个活动传递到另一个活动,我知道我应该使用Parcelable 或Serializable,但我的对象类已经实现了一个接口。有没有办法解决?
【问题讨论】:
-
一个对象不能扩展多个类,但可以实现多个接口。
标签: android parcelable serializable
我正在尝试将一个对象从一个活动传递到另一个活动,我知道我应该使用Parcelable 或Serializable,但我的对象类已经实现了一个接口。有没有办法解决?
【问题讨论】:
标签: android parcelable serializable
对象可以实现多个接口:
class MyClass implements Interface1, Parcelable {
// Implement each interface
}
【讨论】:
我认为正确的做法是使用 Intent.putExtras() - 您可以在其中传递原始数据类型 + String、Bundle、Parcelable、Serializable 类型的对象。您只是在使用键/值对。之后,您可以通过 Intent.getExtras() 获取数据。一切都很简单。也看看这个链接,它们是为大人物准备的,但真的很有帮助:http://developer.android.com/guide/components/intents-filters.html 和 http://www.vogella.com/tutorials/AndroidIntent/article.html。如果问题在更深的地方 - 请描述它。谢谢。
【讨论】:
当然!一个类可以实现多个接口。你只需要在你的类声明中用逗号分隔每一个,就像这样......
public class YourClass implements interface1, interface2, interface3 {
//...
}
【讨论】:
一个对象不能扩展多个类,但可以实现多个接口。
【讨论】:
Parcelable and `Serializable` are the way but little complex. an easy solution is just use `Gson` or any other JSON library..
在第一个活动中。
String objJson = new Gson().toJson(object);
intent.putExtra("key",objJson);
在你的第二个活动中
YourClass yourClass = new Gson().fromJson(getIntent().getStringExtra("key"),YourClass.class) ;
对于 Gson 库,请查看此链接 http://www.java2s.com/Code/Jar/g/Downloadgson222jar.htm
【讨论】: