如何在不同的Android活动之间交换对象?

时间:2015-10-07 17:43:07

标签: android android-intent

我的应用程序有一个客户端列表(仅显示名称和年龄),我希望能够编辑/添加有关它们的更多信息,这些信息在列表中不可见。 因此,每当我点击一个客户端时,我想开始第二个活动,其中包含有关他的所有信息。

我可以使用这个意图吗?我可以一次性传递一个完整的对象(客户端)吗?

我已经查看了这两个主题,但我还没找到答案:

How to exchange data (objects) between different Android Activities?

How do I pass data between Activities in Android application?

提前致谢。

3 个答案:

答案 0 :(得分:1)

看看这个答案:How to pass an object from one activity to another on Android

//to pass :
intent.putExtra("MyClass", obj);  

// to retrieve object in second Activity
getIntent().getSerializableExtra("MyClass");

答案 1 :(得分:0)

我建议您考虑将这些保存在SharedPreferences文件中。构建单独的AppUtil类并添加功能以在共享首选项中保存数据以及能够检索所述数据

如果您为客户端存储了大量信息,那么您应该将SQLite视为数据库存储。

答案 2 :(得分:0)

更实际的方法是创建一个类来保存在活动之间需要更改的每个对象。像那样:

public class MyHolderObjects {
    public static MyObjectType mObject;
}

在开始新活动之前(或者你要使用它的任何东西),在MyHolderObjects中实例化(创建)对象。并在任何你需要的地方使用它:)。我更喜欢这种方法,而不是序列化对象。