`

android intent 传递各种结构数据

阅读更多

android intent 传递list或者对象

方法一: 
如果单纯的传递List<String> 或者List<Integer>的话 就可以直接使用 

Java代码 

intent.putStringArrayListExtra(name, value)  

intent.putIntegerArrayListExtra(name, value)  


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

但是 切记 你的YourObject类必须要实现Serializable接口 

方法三: 
一种是 
Java代码  Bundle.putSerializable(Key,Object);  
另一种是 
Java代码  Bundle.putParcelable(Key, Object);  
当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口

 

 

 

一、传递List<String>和List<Integer>
以下以传递List<String>为例,发送List<String>语法为:
intent.putStringArrayListExtra(key, list);
接收List<String>的语法为:
list = (ArrayList<String>)getIntent().getStringArrayListExtra(key);
以下是一个运用实例:


ArrayList<String> stringList = new ArrayList<String>();
stringList.add("string1");
stringList.add("string2");
stringList.add("string3");
Intent intent = new Intent();
intent.setClass(ListDemoActivity.this, StringListActivity.class);
intent.putStringArrayListExtra("ListString", stringList);
startActivity(intent);
接收
ArrayList<String> stringList = (ArrayList<String>) getIntent().getStringArrayListExtra("ListString");

List<Integer>类似以上的操作调用下面的方法也可以实现发送和接收:
intent.putIntegerArrayListExtra(key, list);
list =(ArrayList<Integer>) getIntent().getIntegerArrayListExtra(key);

 

Intent 传递String 字符串

intent.putExtra("key", "hello, world!");

 

接收端写法:

Intent intent = getIntent();
intent.getStingExtra("key"),如果key对应的字符串没有找到则得到null;

 

 

 

 

 

 

分享到:
评论

相关推荐

    android Intent传递对象数据

    当我们需要传递复杂的数据结构,如自定义对象时,就需要利用`Serializable`或`Parcelable`接口来实现。下面将详细介绍这两种方法。 ### 1. `Serializable`接口 #### (1) 实现过程 首先,你需要让你的自定义对象...

    Android Intent传递对象

    "Android Intent传递对象"这个主题主要关注如何利用Intent来传递自定义对象,以便在应用程序的不同部分共享数据。下面我们将深入探讨这个话题。 首先,了解Intent的基本结构和类型至关重要。Intent有两种类型:显式...

    andorid 利用Intent 传递Bundle包

    在`jsl.sample.bundle`这个示例项目中,可能包含了一个或多个Activity,它们展示了如何通过Intent传递并接收Bundle数据的具体实现。这些示例可能包括创建Bundle,将不同类型的值放入Bundle,然后通过Intent发送,...

    Android Intent传递泛型类

    当我们需要在Activity之间传递复杂的数据结构,比如自定义的泛型类对象时,Intent就显得尤为重要。本文将深入探讨如何在Android Intent中传递泛型类。 首先,了解Intent的基本用法。Intent通常包含两个主要部分:...

    Android系列之Intent传递对象的几种实例方法

    在实际开发中,如果需要频繁地通过Intent传递对象,推荐使用`Parcelable`接口,以提高应用性能。然而,对于简单的数据模型或者不需要考虑性能的情况下,`Serializable`接口是一个更简单的选择。 总结起来,Android...

    Android Intent传递数据底层分析详细介绍

    本文将深入解析Intent传递数据的底层实现机制。 首先,Intent是一个实现了Parcelable接口的类,这意味着它可以被序列化,便于在不同进程间传输。Parcelable接口是Android系统提供的一种高效的数据序列化方式,它比...

    Android 数据传递(Intent、Bundle、Serializable、Parcelable等)

    当Intent传递的数据量较小或不涉及复杂对象时,Intent是非常方便的选择。 2. **Bundle**: Bundle是一个键值对的数据结构,常作为Intent的附加数据容器。它可以存储更多的数据类型,包括基本类型、CharSequence、...

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

    总结来说,这个Demo展示了如何在Android中使用ListView和SimpleAdapter展示数据,以及如何通过Intent传递数据和图片。理解并掌握这些基本概念对于Android开发至关重要,它们可以帮助你构建用户友好的、数据驱动的...

    Intent传递对象Serializable

    在Android中,Intent的额外数据部分(extras)只能存储Parcelable或Serializable类型的对象,因此,当我们需要通过Intent传递自定义对象时,可以选择实现Serializable接口。 **步骤1:实现Serializable接口** 为了...

    Intent传递

    四、Intent传递数据 Intent不仅可以启动组件,还能携带数据。常用的方法有putExtra()和getExtra(),用于在Intent中添加和获取键值对数据,数据类型可以是基本类型、字符串、Parcelable对象等。例如: ```java intent...

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

    在Android开发中,Intent是用来在组件之间传递数据的重要工具,它可以携带少量的数据,但有时我们需要传递更复杂的数据结构,比如List或自定义对象。以下是一些在Intent中传递List或对象的方法: 方法一:直接传递...

    033集-通过Intent传递数据

    - **Parcelable接口**:对于复杂的数据结构,比如自定义对象,需要实现Parcelable接口,这样可以在Intent中高效地序列化和反序列化。 - **Serializable接口**:另一种方式是使自定义对象实现Serializable接口,但...

    EventBus替代Intent传递复杂数据的实例代码

    下面将详细解释如何使用EventBus替代Intent传递复杂数据。 ### EventBus的核心概念 1. **发布者(Publisher)**:发布事件的组件,通常是在某个操作完成后,需要向其他组件发送消息的类。 2. **订阅者(Subscriber...

    intent传递类内容

    - 过多的Intent传递可能导致性能问题,因此应尽量减少不必要的数据传递,优化Intent使用。 总之,Intent是Android开发中的核心概念之一,熟练掌握Intent的使用,对于构建高效、灵活的应用至关重要。理解并熟练运用...

    Xamarin.Android之Intent传递对象简单实例

    本文将深入探讨如何在Xamarin.Android中通过Intent传递自定义对象,特别关注实现`IParcelable`接口的方法。 首先,让我们理解Intent的基本概念。Intent是用来表示应用程序的意图,它可以携带数据并指定目标组件。在...

    Android-Activity之间数据传递的多种方式

    一、Intent传递数据 Intent是Android系统中用于启动组件(如Activity)的一种消息对象,同时也可以用来在组件间传递数据。Intent的数据传递有两种类型:显式和隐式。 1. 显式Intent:通过指定目标Activity的类名,...

    Android开发 两个Activity之间通过Intent跳转传值

    在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它被用来启动新的Activity或Service,也可以传递数据。本文将深入探讨如何在两个Activity之间通过Intent进行数据传递。 首先,理解Intent的基本概念。...

    数据传递之Intent

    总结,Intent是Android系统中不可或缺的一部分,它连接了各种组件,使得数据传递和操作启动变得简单高效。在实际的登录界面应用中,Intent能帮助我们轻松地将用户输入的信息传递到后续的验证过程,从而实现应用的...

    Android中Intent传递对象的3种方式详解

    本文将详细介绍在Android中使用Intent传递自定义对象的三种方法:Serializable方式、Parcelable方式以及JSON方式。 ### 1. Serializable方式 Serializable是最简单的方法,只需让自定义类实现Serializable接口。...

    android各组件详解- Intent.

    通过Intent,开发者能够灵活地在组件间传递数据和命令,实现复杂的交互逻辑。 ### Intent的使用场景 #### 启动Activity - `Context.startActivity()` 和 `Activity.startActivityForResult()` 是启动Activity的...

Global site tag (gtag.js) - Google Analytics