activity之间传递自定义数据,需要implements Serializable或者Parcelable接口
可以用bundle putSerializable(String,Serizlizable)数据或者直接用intent putExtrr(String,Serizlizable)数据。
我有一个需求需要传递多个自定义类型数据,于是我写了一个数据类Value把我需要的那些自定义数据封装了起来,这个类实现了Serizlizable接口。但是在putExtra的时候出现了错误。
java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.vdong.yre.j2me.util.Value)
at android.os.Parcel.writeSerializable(Parcel.java:1147)
Caused by: java.io.NotSerializableException: com.vdong.yre.j2me.widget.YYTextView
at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1753)
at android.os.Parcel.writeSerializable(Parcel.java:1142)
后来我发现要想在Activity之间传递数据必须所有的内容都实现serializable接口才行,而我的Value中封装的一个自定义类型数据没有实现这个接口,所以出现了错误。
之后我让那个自定义类型实现了serializable接口就没有问题了。
分享到:
相关推荐
以上就是如何在Android的Activity之间传递自定义类对象的方法。在实际开发中,根据项目需求和性能考虑,可以选择适合的方式。如果对象比较复杂,建议使用Parcelable;如果简单,且对性能要求不高,可以使用...
当PopupWindow需要向Activity传递数据时,只需调用已实现的接口方法即可。这样做的好处是保持了PopupWindow和Activity之间的解耦。 3. **静态变量**:创建全局静态变量,可以方便地在PopupWindow和Activity之间共享...
在Android应用开发中,Activity是用户界面的基本单元,它们之间常常需要进行数据交换来实现功能交互。本教程将深入探讨如何在Android的Activity之间传递数据,以及如何在启动的Activity销毁后,主Activity能接收到...
除了基本类型,Intent还可以传递更复杂的数据类型,如Parcelable(自定义对象)、Serializable等。不过,需要注意的是,数据传递在Activity之间并不是持久化的,当应用被关闭后,这些数据会丢失。 接下来,我们谈谈...
"Activity之间传递数据"这一主题,主要涉及如何使用Intent对象在不同的Activity之间传递各种类型的数据,包括基本数据类型、字符串、数组、集合以及自定义对象等。在Android中,Intent不仅用于启动新的Activity,还...
Activity之间的通信是Android系统中不可或缺的一部分,本教程将详细讲解如何在不同的Activity之间进行简单数据传递。 一、基本概念 Activity间的数据传递主要通过Intent进行。Intent不仅用于启动新的Activity,还能...
通常,我们使用Intent对象来完成这一任务,而Intent支持多种数据类型,包括基本类型、Parcelable接口实现的类以及Serializable接口实现的类。`Parcelable`是Android提供的一种高效的数据序列化方式,相比`...
Android中的不同Activity之间传递对象,我们可以考虑采用Bundle.putSerializable(Key,Object);也可以考虑采用Bundle.putParcelable(Key, Object);其中前面一种方法中的Object要实现Serializable接口,后面一种方法中...
在Android中,Activity之间的对象传递主要依赖于Intent、Parcelable接口、Serializable接口以及Bundle。Parcelable接口提供高效的数据传输,适用于频繁的数据交换;Serializable接口使用简单,但效率较低;而Bundle...
通过Intent,我们可以将基本数据类型(如字符串、整数等)、Parcelable对象、Serializable对象以及额外的数据捆绑到Intent中,然后在启动新Activity时传递这些数据。 1. 使用putExtra()和getExtra()方法:这是最...
除了基本类型,我们还可以传递更复杂的数据类型,例如字符串、浮点数、布尔值,甚至自定义对象。对于自定义对象,需要确保该对象实现了Serializable或Parcelable接口,因为Bundle只能存储这两个接口的对象。 值得...
在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。本文将详细介绍如何在Android的两个Activity之间进行值的传递,并结合实际案例进行解析。 首先,我们可以通过Intent...
在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。本篇文章将详细讲解如何在Android的两个Activity之间传递参数,并通过给出的`LoginActivity.java`和`MainActivity.java...
本文将详细讨论如何在Android中实现Activity之间传递List数据。 首先,理解Intent的基本用法。Intent主要用于启动其他Activity或BroadcastReceiver,同时可以携带少量数据。通过putExtra()方法,我们可以传递基本...
2. **基本类型数据传递**: Android允许我们将基本数据类型(如String、int、float等)作为Intent的额外参数。例如,可以这样传递一个字符串: ```java Intent intent = new Intent(currentActivity, NextActivity....
总之,Eclipse下的Android Activity值传递主要依赖Intent和其附加的extras,可以通过基本类型、Parcelable对象、Serializable对象或Bundle进行数据传输。理解这些机制对于构建功能丰富的Android应用至关重要。在实际...
在"猴子摘桃"项目中,我们可能通过Intent将数据(如桃子的数量)从一个Activity传递到另一个Activity。 2. ** Extras**: Intent对象有一个putExtra()方法,用于添加额外的数据,比如字符串、整数等。在启动新...
Bundle是一个键值对的数据结构,它类似于Java中的HashMap,可以存储各种基本数据类型(如int、String、boolean等)以及复杂的对象(如Parcelable和Serializable)。Bundle在Android中主要用于保存Activity的状态,当...
通过以上介绍,你应该对Android Studio 3.1环境下Activity之间的数据传递有了清晰的理解。在实际开发中,可以根据具体需求灵活运用这些方法,实现高效、安全的数据交换。在提供的MyDemo项目中,你可以找到具体实现的...
本篇文章将详细阐述如何在Android中实现Activity的跳转、数据返回以及如何在跳转过程中传递数据。 ### 1. 实现Activity的跳转 在Android中,我们可以使用`Intent`对象来启动一个新的Activity。首先创建一个Intent...