`

Android中如何实现两个Activity中传递自定义数据

阅读更多

在开发中,本人遇到这样问题想在两个activity之间传递某个自定义类对象,但是使用Bundle发现里面只能传送已经封装好的int,float,String等类型,自定义的类无法发送。

后来上网查阅相关资料发现Bundle中有这两个方法putSerializable()和putLongArray()两个方法对自定义数据进行序列化即可实现所希望的功能。

需要注意的是你所传递的自定义数据必须implements Serializable或者Parcelable接口,可以用bundle putSerializable(String,Serizlizable)数据或者直接用intent putExtrr(String,Serizlizable)数据。如果该自定义数据里面嵌套了其他自定义数据类型,则必须都要implements Serializable或者Parcelable接口才行,不然会报错...


贴上部分源码:

	public void onItemClick(AdapterView<?> arg0, View arg1, int position,				long id) {			// TODO Auto-generated method stub					WeiboListItem single_info=weibolist.get(position);			Intent intent=new Intent(Test.this,Single_view.class);			Bundle mbundle=new Bundle();			mbundle.putSerializable("single_info", single_info);			intent.putExtras(mbundle);			//intent.putExtra("single_info", single_info);			startActivity(intent);

自定义数据:

public class WeiboListItem implements Serializable{//继承序列化的类主要是为了方便activity之间传递weiboInfo对象public static final long serialVersionUID = 1L;private String time;private String text;private String source;private String reposts_count;private String comments_count;private UserInfo user;

嵌套数据类型:

public class UserInfo implements Serializable {private static final long serialVersionUID = -609747215688061510L;private String id;//用户UIDprivate String screen_name;//昵称private String location;//所在地private String description;//描述private String avatar_large;//大头像private String verified_reason ;//认证原因private String gender;//性别

以上是用继承Serializable来实现的,至于继承Parcelable接口方法类似...



分享到:
评论

相关推荐

    android 自定义AlertDialog 与Activity相互传递数据

    新手在自定义AlertDialog上的疑问笔者猜测主要有两个: 1、自定义的layout如何放到AlertDialog中? 解答: 获取到layout的view之后,直接调用AlertDialog.Builder的setView方法即可。 2、如何对自定义AlertDialog中...

    两个Activity之间传递参数的代码

    以上就是在Android中两个Activity之间传递参数的主要方式。开发者可以根据实际需求选择合适的方法。在实际项目中,还需要注意数据安全,避免敏感信息在Intent中明文传输。此外,如果数据量较大,应考虑使用其他持久...

    Android PopupWindow与Activity之间的数据传递.zip

    当PopupWindow需要向Activity传递数据时,只需调用已实现的接口方法即可。这样做的好处是保持了PopupWindow和Activity之间的解耦。 3. **静态变量**:创建全局静态变量,可以方便地在PopupWindow和Activity之间共享...

    利用广播Broadcast Receiver,在2个不同的Activity传递数据

    要实现两个Activity之间的数据传递,我们需要遵循以下步骤: 1. **创建BroadcastReceiver**: 首先,在需要发送数据的Activity中创建一个BroadcastReceiver的实例,并重写onReceive()方法。在这个方法里,我们将...

    Android 两个Activity之间传值

    本文将详细介绍如何在Android的两个Activity之间进行值的传递,并结合实际案例进行解析。 首先,我们可以通过Intent对象来实现Activity之间的数据传递。Intent是Android系统中用于启动组件(如Activity、Service等...

    使用ViewModel解决多个Activity数据共享问题(Kotlin版)

    在Android应用开发中,尤其是使用Kotlin作为主要编程语言时,如何有效地在多个Activity之间共享数据是一个常见的挑战。`ViewModel`是Android架构组件之一,它为了解决这个问题提供了优雅的解决方案。本文将深入探讨...

    activity值传递

    Intent在Android中扮演着连接组件的角色,它是一种表达应用程序意图的抽象,可以用来启动一个Activity或者服务,也可以用于广播接收器。当需要在Activity之间传递数据时,Intent提供了额外的数据承载功能。 1. **...

    android 利用intent调用activity 简明精炼的例子

    总之,Intent是Android中实现组件间通信的关键,通过它可以灵活地启动Activity并传递数据。理解和熟练使用Intent对于Android开发者来说至关重要。在实际项目中,根据需求调整Intent的构造和使用方式,可以实现丰富的...

    两个Activity在调用StartActivity的时候传递序列化信息

    综上所述,Android中的序列化是两个Activity之间传递复杂数据的一种手段,而Intent则是连接这些Activity的桥梁。正确理解和使用序列化和Intent机制,可以帮助开发者有效地在不同Activity间共享信息,从而构建功能...

    Android父Activity获取子Activity返回信息demo

    下面将详细介绍如何在Android中实现父Activity获取子Activity返回的信息。 首先,我们创建一个子Activity。在这个子Activity中,用户可能会进行一些交互,例如选择数据、填写表单等。完成这些操作后,子Activity...

    基于观察者模式两个activity通信

    通过定义自定义的`Observer`和`Observable`,我们可以轻松地在Android应用中实现Activity间的通信,特别是在涉及到多个活动参与的数据流更新时,观察者模式能大大简化代码结构,提高可维护性。在Test文件中,可能...

    android两个Activity的转换

    "android两个Activity的转换"这个主题涉及到如何在不同的Activity之间导航,这是Android应用交互的基础。以下是关于这个主题的详细知识: 1. **Activity的生命周期**:每个Activity都有一个生命周期,包括创建...

    Android Parcelable序列化自定义类集合在Activity间传递

    综上所述,要理解并实现Android中Parcelable序列化自定义类集合在Activity间传递,开发者需要掌握Parcelable接口的使用、自定义类的Parcelable实现、集合处理、Intent数据传递,以及可能借助的源码阅读和辅助工具。...

    intent实现两个activity间的数据传输

    通过以上步骤,我们便能实现Android中两个Activity之间的数据双向传输。这种方式在日常开发中非常常见,能够满足大部分数据交换需求。但需要注意的是,对于大量复杂数据,建议使用Parcelable或Serializable接口进行...

    Android Activity之间的跳转以及数据的交互传递

    Intent是一个包含消息的对象,可以用来启动一个Activity或服务,或者传递数据。创建Intent时,你需要指定目标Activity的类名,并通过setComponent()方法设置,或者通过setAction()和setCategory()来指定一个动作和...

    Activity之间相互跳转和传递数据(包括Button样式自定义、Check样式自定义和Activity添加Menu)

    本主题将深入探讨Activity之间的跳转和数据传递,同时涵盖Button样式的自定义、Check样式的自定义以及如何在Activity中添加Menu。 一、Activity之间的跳转 在Android中,我们通常使用Intent对象来启动一个新的...

    Activity跳转时传递Bitmap对象

    在Android开发中,Activity之间的数据传递是常见的操作,特别是在处理图像数据时,如Bitmap对象。Bitmap是Android系统中用于表示图像的重要类,它包含了图像的所有像素信息。在不同Activity之间传递Bitmap,通常是...

    Activity之间对象传递的两种方式

    在Android应用开发中,Activity是用户界面的基本单元,它们之间的数据传递是十分常见的操作。本篇文章将详细探讨在Android中Activity之间对象传递的两种主要方式:Parcelable和Serializable接口的使用。 首先,我们...

    android 自定义dialog和activity跳转的样式

    - 在AndroidManifest.xml中,为每个Activity定义启动动画,使用`android:enterAnim`和`android:exitAnim`属性指定进入和退出动画资源。 - 或者在代码中使用`overridePendingTransition`方法,传入动画资源ID来动态...

    android实现activity直接的传值问题

    在两个Activity之间传递数据,通常会用到Intent的以下方法: 1. **putExtra()**:向Intent中添加额外的数据。例如,如果你想传递一个字符串,可以这样写: ```java Intent intent = new Intent(CurrentActivity....

Global site tag (gtag.js) - Google Analytics