在开发中,本人遇到这样问题想在两个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接口方法类似...
分享到:
相关推荐
新手在自定义AlertDialog上的疑问笔者猜测主要有两个: 1、自定义的layout如何放到AlertDialog中? 解答: 获取到layout的view之后,直接调用AlertDialog.Builder的setView方法即可。 2、如何对自定义AlertDialog中...
以上就是在Android中两个Activity之间传递参数的主要方式。开发者可以根据实际需求选择合适的方法。在实际项目中,还需要注意数据安全,避免敏感信息在Intent中明文传输。此外,如果数据量较大,应考虑使用其他持久...
当PopupWindow需要向Activity传递数据时,只需调用已实现的接口方法即可。这样做的好处是保持了PopupWindow和Activity之间的解耦。 3. **静态变量**:创建全局静态变量,可以方便地在PopupWindow和Activity之间共享...
要实现两个Activity之间的数据传递,我们需要遵循以下步骤: 1. **创建BroadcastReceiver**: 首先,在需要发送数据的Activity中创建一个BroadcastReceiver的实例,并重写onReceive()方法。在这个方法里,我们将...
本文将详细介绍如何在Android的两个Activity之间进行值的传递,并结合实际案例进行解析。 首先,我们可以通过Intent对象来实现Activity之间的数据传递。Intent是Android系统中用于启动组件(如Activity、Service等...
在Android应用开发中,尤其是使用Kotlin作为主要编程语言时,如何有效地在多个Activity之间共享数据是一个常见的挑战。`ViewModel`是Android架构组件之一,它为了解决这个问题提供了优雅的解决方案。本文将深入探讨...
Intent在Android中扮演着连接组件的角色,它是一种表达应用程序意图的抽象,可以用来启动一个Activity或者服务,也可以用于广播接收器。当需要在Activity之间传递数据时,Intent提供了额外的数据承载功能。 1. **...
总之,Intent是Android中实现组件间通信的关键,通过它可以灵活地启动Activity并传递数据。理解和熟练使用Intent对于Android开发者来说至关重要。在实际项目中,根据需求调整Intent的构造和使用方式,可以实现丰富的...
综上所述,Android中的序列化是两个Activity之间传递复杂数据的一种手段,而Intent则是连接这些Activity的桥梁。正确理解和使用序列化和Intent机制,可以帮助开发者有效地在不同Activity间共享信息,从而构建功能...
下面将详细介绍如何在Android中实现父Activity获取子Activity返回的信息。 首先,我们创建一个子Activity。在这个子Activity中,用户可能会进行一些交互,例如选择数据、填写表单等。完成这些操作后,子Activity...
通过定义自定义的`Observer`和`Observable`,我们可以轻松地在Android应用中实现Activity间的通信,特别是在涉及到多个活动参与的数据流更新时,观察者模式能大大简化代码结构,提高可维护性。在Test文件中,可能...
"android两个Activity的转换"这个主题涉及到如何在不同的Activity之间导航,这是Android应用交互的基础。以下是关于这个主题的详细知识: 1. **Activity的生命周期**:每个Activity都有一个生命周期,包括创建...
综上所述,要理解并实现Android中Parcelable序列化自定义类集合在Activity间传递,开发者需要掌握Parcelable接口的使用、自定义类的Parcelable实现、集合处理、Intent数据传递,以及可能借助的源码阅读和辅助工具。...
通过以上步骤,我们便能实现Android中两个Activity之间的数据双向传输。这种方式在日常开发中非常常见,能够满足大部分数据交换需求。但需要注意的是,对于大量复杂数据,建议使用Parcelable或Serializable接口进行...
Intent是一个包含消息的对象,可以用来启动一个Activity或服务,或者传递数据。创建Intent时,你需要指定目标Activity的类名,并通过setComponent()方法设置,或者通过setAction()和setCategory()来指定一个动作和...
本主题将深入探讨Activity之间的跳转和数据传递,同时涵盖Button样式的自定义、Check样式的自定义以及如何在Activity中添加Menu。 一、Activity之间的跳转 在Android中,我们通常使用Intent对象来启动一个新的...
在Android开发中,Activity之间的数据传递是常见的操作,特别是在处理图像数据时,如Bitmap对象。Bitmap是Android系统中用于表示图像的重要类,它包含了图像的所有像素信息。在不同Activity之间传递Bitmap,通常是...
在Android应用开发中,Activity是用户界面的基本单元,它们之间的数据传递是十分常见的操作。本篇文章将详细探讨在Android中Activity之间对象传递的两种主要方式:Parcelable和Serializable接口的使用。 首先,我们...
- 在AndroidManifest.xml中,为每个Activity定义启动动画,使用`android:enterAnim`和`android:exitAnim`属性指定进入和退出动画资源。 - 或者在代码中使用`overridePendingTransition`方法,传入动画资源ID来动态...
在两个Activity之间传递数据,通常会用到Intent的以下方法: 1. **putExtra()**:向Intent中添加额外的数据。例如,如果你想传递一个字符串,可以这样写: ```java Intent intent = new Intent(CurrentActivity....