`

Intent 传递 List 利用Serializable

 
阅读更多

转载:

 

http://blog.csdn.net/onerain88/article/details/6562464

 

可以把list强转成Serializable类型,然后通过putExtras(key, (Serializable)list)方法传递过去,接受的时候用(List<YourObject>) getIntent().getSerializable(key)就可以接受到List<YourObject>数据了

 

但是最重要的一点是:你的YourObject类必须要实现Serializable接口,切记切记,不然会报错,运行时异常(与parcel相关)

 

总结:保证你自己定义的类实现了Serializable接口,然后传递list的时候强转成Serializable类型,接受的时候再转换回来就可以了!

 

 

public class Content implements Serializable{
	String idString ;
	String name ;
	public String getIdString() {
		return idString;
	}
	public void setIdString(String idString) {
		this.idString = idString;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

 

list = new ArrayList<Content>();
        Content content = new Content();
        content.setIdString("123456");
        content.setName("namenamenae");
        list.add(content);
        list.add(content);
        list.add(content);
        list.add(content);
        Button button = (Button)findViewById(R.id.button1);
        button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent intent = new Intent(IntentListArrayActivity.this,SecondActivity.class);
				intent.putExtra("content", (Serializable)list);
				startActivity(intent);
				
			}
		});

 

 List<Content> list = (List<Content>)this.getIntent().getSerializableExtra("content");
		 for(int i=0;i<list.size();i++){
			 Content content = list.get(i);
			 Log.d("test", "_______" + content.getIdString() + "|" + content.getName());
		 }

 

分享到:
评论

相关推荐

    Android Intent传递数据大小限制详解

    Intent传递数据时,如果数据太大,可能会出现异常。比如App闪退,或是Intent发送不成功,logcat报错等等。 这就牵涉到一个问题:Intent 传递数据大小限制。 Intent到底能够携带多少数据呢? 使用Intent传送数据时...

    android中intent传递list或者对象的方法

    本文实例讲述了android中intent传递list或者对象的方法。分享给大家供大家参考。具体实现方法如下: 方法一: 如果单纯的传递List&lt;String&gt; 或者List的话 就可以直接使用 代码如下: 代码如下:intent....

    Intent传递对象、对象数组

    本话题将详细探讨如何通过Intent传递对象以及对象数组。 一、Intent的基础 Intent主要由两部分构成:Action(动作)和Data(数据)。Action定义了Intent要执行的操作,如ACTION_VIEW、ACTION_SEND等;Data则包含了...

    ListVIew用法Intent传递据图片以及Android适配器

    在这个Demo中,我们将会探讨ListView的基本用法,如何使用SimpleAdapter,以及如何通过Intent传递数据和图片。 首先,让我们来看看ListView的基本使用。ListView需要一个Adapter来填充数据,Adapter可以根据不同的...

    Activity之间传递List数据

    对于ArrayList或ArrayMap等容器,如果它们的元素实现了Parcelable或Serializable接口,也可以通过Intent传递。 1. 使用Parcelable接口: Parcelable是Android系统提供的一个高效的数据序列化接口,它比...

    借助Intent实现Android工程中Activity之间Java对象的传递.zip

    本教程将深入探讨如何利用Intent实现Activity之间的Java对象传递。 首先,理解Intent的基本概念。Intent是一个意图声明,用于表达应用的某种动作,如打开一个网页、播放音乐等。它包含两部分:Action(动作)和Data...

    Android 通过Intent使用Bundle传递对象详细介绍

    首先,我们需要知道在Android中,如果想要通过Intent传递一个对象,这个对象必须是可序列化的。在Java中,有两种基本的序列化方式:`java.io.Serializable` 和 `android.os.Parcelable`。虽然两者都可以用来序列化...

    Android Intent多种传值方式

    - 若自定义对象实现Serializable接口,Intent也能传递此类对象,但效率较低。 - 示例: ```java MyObject obj = new MyObject(); intent.putExtra("key", obj); ``` - 接收端: ```java MyObject obj = (My...

    利用Parceable传递复杂对象

    3. **使用Intent传递Parceable对象**:一旦你的对象实现了Parceable,就可以通过Intent在Activity之间传递了。例如,你可以这样使用: ```java Intent intent = new Intent(this, TargetActivity.class); intent....

    Android intent之间复杂参数传递方法详解

    在Android开发中,Intent是连接不同组件(如Activity、Service等)的重要桥梁,用于传递数据和启动这些组件。在简单的场景下,Intent可以轻松地传递基本数据类型和字符串。然而,在复杂的项目中,我们可能需要传递更...

    android activityIntent 传值 传对象

    本文将深入探讨如何使用Intent在Activity之间传递基本数据类型、复杂对象以及实现Parcelable或Serializable接口的对象。 1. **基本数据类型的传值** Intent提供了putExtra()方法来传递基本数据类型,如字符串、...

    android 从activity用intent跳转到listactivity并在其中用simpleadapter在listview中显示数据列

    接下来,在ListActivity中,我们需要接收Intent传递的数据。在onCreate()方法中,我们可以这样获取: ```java Intent intent = getIntent(); ArrayList, String&gt;&gt; dataList = (ArrayList, String&gt;&gt;) intent....

    activity间的数据传递Demo

    "activity间的数据传递Demo"就是一种常见的实践,它主要涉及的是Intent的使用,Intent是Android系统中用于启动组件(如Activity、Service等)并传递数据的重要工具。在本教程中,我们将深入探讨如何在不同的Activity...

    Android学习笔记(十二)——使用意图传递数据的几种方式

    如果对象实现了Serializable接口,也可以通过Intent传递。虽然效率较低,但适用范围更广,因为大部分Java类都默认实现了Serializable。例如: ```java intent.putExtra("key", mySerializableObject); ``` 在...

    IntentSendObj

    总结来说,`IntentSendObj`涉及到的关键知识点包括:Intent在Android中的作用、对象序列化和Parcelable接口的使用,以及如何通过Intent传递对象和集合。理解并掌握这些技术,对于Android开发者来说至关重要,因为...

    Android编程实现使用Intent传输包含自定义类的ArrayList示例

    但是,Intent 只能传输基本数据类型和实现了 Parcelable 或 Serializable 接口的对象。如果我们想要传输包含自定义类的 ArrayList,需要使用 Serializable 接口来实现对象的序列化和反序列化。 首先,我们需要创建...

    Activity传递数据到另一个Activity并显示

    - 如果传递自定义对象,该对象需要实现`Serializable`或`Parcelable`接口。 在`IntentDemo`这个项目中,你可以找到具体的代码示例,通过实际操作来加深理解。学习并掌握这些基本技巧,将有助于你在安卓应用开发中...

Global site tag (gtag.js) - Google Analytics