如何将对象传递给另一个活动?如果对象已经实现了一个接口(所以它不能实现Parcelable)?

时间:2016-01-19 22:14:16

标签: android parcelable serializable

我试图将一个Object从一个活动传递到另一个活动,我知道我应该使用ParcelableSerializable但我的Object类已经实现了一个接口。有没有办法解决?

5 个答案:

答案 0 :(得分:2)

对象可以实现多个接口:

class MyClass implements Interface1, Parcelable {
  // Implement each interface
}

答案 1 :(得分:2)

我认为正确的事情就是使用Intent.putExtras() - 您可以在其中传递原始数据类型+ String,Bundle,Parcelable,Serializable类型的对象。您只是使用键/值对。之后,您可以通过Intent.getExtras()获取数据。一切都很简单。另请查看此链接,它们适用于bigginers,但非常有用:http://developer.android.com/guide/components/intents-filters.htmlhttp://www.vogella.com/tutorials/AndroidIntent/article.html。如果问题更深入 - 请描述一下。感谢。

答案 2 :(得分:1)

当然!一个类可以实现多个接口。您只需要在类声明中用逗号分隔每一个,就像这样......

public class YourClass implements interface1, interface2, interface3 { 
    //...
}

答案 3 :(得分:1)

对象不能扩展多个类,但可以实现许多接口。

答案 4 :(得分:0)

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