Android开发Intent跳转传递list集合实现示例

目录
  • 引言
  • 传递list集合
  • 传递ArrayList集合
  • 传递实体类
  • 传递String

引言

  • Android 两个activity之间普通传值 如:单个String ,int ... 就不多说了
  • 参考文章 https://www.jb51.net/article/257178.htm

传递list集合

注意:list传值的实体类用序列化

  • 先创建个实体类(等下测试用)
import java.io.Serializable;
//别忘了序列化 Serializable
public class DemoBean implements Serializable {
    String xm;
    int age;
    public String getXm() {
        return xm;
    }
    public void setXm(String xm) {
        this.xm = xm;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}
  • 第一个activity
//写个测试方法
    public void ToJump(){
        List<DemoBean> list=new ArrayList<>();
        //给list 添加 5 条数据
        for (int i=0;i<5;i++){
            DemoBean demoBean=new DemoBean();
            demoBean.setXm("花花"+i);
            demoBean.setAge(i);
            list.add(demoBean);
        }
        Intent intent=new Intent(this,MainActivity.class);
        intent.putExtra("list", (Serializable) list);
        startActivity(intent);
    }
  • 第二个activity页面接收
 Intent intent=getIntent();
 List<DemoBean> list= (List<DemoBean>) intent.getSerializableExtra("list");
 Log.e("TAG","---"+list.size());// list.size()==5

传递ArrayList集合

传递ArrayList集合和list一样

注意:实体类用序列化

  • 第一个activity
    public void ToJump(){
        ArrayList<DemoBean> arrayList=new ArrayList();
        for (int i=0;i<5;i++){
            DemoBean demoBean=new DemoBean();
            demoBean.setXm("花花"+i);
            demoBean.setAge(i);
            arrayList.add(demoBean);
        }
        Intent intent=new Intent(this,MainActivity.class);
        intent.putExtra("arrayList",arrayList);
        startActivity(intent);
    }
  • 第二个activity页面接收
Intent intent=getIntent();
ArrayList<DemoBean> arrayList= (ArrayList<DemoBean>) intent.getSerializableExtra("arrayList");
Log.e("TAG","--------"+arrayList.size());// 有5条数据 list.size()==5

传递实体类

  • 第一个activity
public void ToJump(){
    DemoBean demoBean=new DemoBean();
    Intent intent=new Intent(this,MainActivity.class);
    intent.putExtra("demoBean",demoBean);
    startActivity(intent);
}
  • 第二个activity页面接收
Intent intent=getIntent();
DemoBean demoBean= (DemoBean) intent.getSerializableExtra("demoBean");
//接收到一整个实体类

传递String

  • 第一个activity
 Intent intent = new Intent(this,MainActivity2.class);
 //设置传递键值对
 intent.putExtra("name","花花");
 //激活意图
 startActivity(intent);
  • 第二个activity页面接收
 Intent intent = getIntent();
 //获取传递的值
 String name= intent.getStringExtra("name");
 //name的值是:花花
 

以上就是Android开发Intent跳转传递list集合实现示例的详细内容,更多关于Android Intent跳转传递list集合的资料请关注我们其它相关文章!

(0)

相关推荐

  • Android使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信界面

    场景 点击拨打电话按钮,跳转到拨打电话页面 点击发送短信按钮,跳转到发送短信页面 注: 实现 将布局改为LinearLayout,并通过android:orientation="vertical">设置为垂直布局,然后添加id属性. 然后添加两个按钮,并设置Id属性与显示文本. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="

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

    前言 在sendBroadcast,startActivity时,我们会用到Intent. Intent可以携带一些数据,比如基本类型数据int.Boolean,或是String,或是序列化对象,Parcelable与Serializable. Intent传递数据时,如果数据太大,可能会出现异常.比如App闪退,或是Intent发送不成功,logcat报错等等. 这就牵涉到一个问题:Intent 传递数据大小限制. Intent到底能够携带多少数据呢? 使用Intent传送数据时,可能会出现异

  • Android Intent传递大量数据出现问题解决

    目录 正文 异常TransactionTooLargeException Intent携带信息的大小受Binder限制 为什么Binder要限制传输数据的大小 替代方案 正文 官方文档 https://developer.android.google.cn/guide/components/activities/parcelables-and-bundles 在sendBroadcast,startActivity时,我们会用到Intent. Intent可以携带一些数据,比如基本类型数据int

  • Android开发之TextView使用intent传递信息,实现注册界面功能示例

    本文实例讲述了Android开发之TextView使用intent传递信息,实现注册界面功能.分享给大家供大家参考,具体如下: 使用intent在活动间传递值 首先是 MainActuvity 活动(注册界面 写完个人信息点击注册 ) 跳转到 In 活动 (通过 intent 获得 MainActivity 中的信息 ) 效果图如下: MainActivity 实现: Java代码: public class Home extends AppCompatActivity { //用于存放个人注册

  • Android Intent-Filter匹配规则解析

    前言 我们都知道,活动的启动方式有两种:一种是显示启动,或者很简单,指定一个活动的class就可以了:另外一种就是隐式启动,这种要指定action,category,data信息,例如我们在启动系统相机的时候.看一下代码: Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri); startActivityFor

  • Android开发Intent跳转传递list集合实现示例

    目录 引言 传递list集合 传递ArrayList集合 传递实体类 传递String 引言 Android 两个activity之间普通传值 如:单个String ,int ... 就不多说了 参考文章 https://www.jb51.net/article/257178.htm 传递list集合 注意:list传值的实体类用序列化 先创建个实体类(等下测试用) import java.io.Serializable; //别忘了序列化 Serializable public class D

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

    Android 通过Intent使用Bundle传递对象 Android开发中有时需要在应用中或进程间传递对象,下面详细介绍Intent使用Bundle传递对象的方法. 被传递的对象需要先实现序列化,而序列化对象有两种方式:java.io.Serializable和android.os.Parcelable Java中使用的是Serializable,而谷歌在Android使用了自定义的Parcelable. 两种序列化方式的区别: 1.在使用内存的时候,Parcelable比Serializa

  • Android开发组件flutter的20个常用技巧示例总结

    目录 1.map遍历快速实现边距,文字自适应改变大小 2.使用SafeArea 添加边距 3.布局思路 4.获取当前屏幕的大小 5.文本溢出显示省略号 6.一个圆角带搜索icon的搜索框案例 7.修改按钮的背景色 8.tab切换实例 9.点击事件组件点击空白区域不触发点击 10.使用主题色 11.往安卓模拟器中传图片 12.控制text的最大行数显示影藏文字 13.去掉默认的抽屉图标 14.图片占满屏 15.倒计时 16.固定底部 17.添加阴影 18.隐藏键盘 19.获取父级组件大小 20.点

  • Android开发X Y轴Board的绘制教程示例

    目录 正文 1. X轴的绘制 2. Y轴的绘制 绘制RightYAxisLabel 3. Board 绘制 正文 上篇大致介绍了RecyclerChart能够绘制的图表,以及一些特有的功能.从这节开始具体地介绍图表的绘制,本节先介绍RcyclerChart中一些图表的相关辅助的绘制,X.Y轴,以及Board的绘制. 上一章节有介绍绘制的逻辑都在ItemDecoration中实现的,而各种图表基本都有X.Y轴.Board相关的绘制,所以把他们的相关逻辑抽象到上层的基类BaseChartItemDe

  • android开发修改状态栏背景色和图标颜色的示例

    本文介绍了android开发修改状态栏背景色和图标颜色的示例,分享给大家,具体如下: 修改状态栏背景色和图标颜色 默认是黑底白字的,现在要改为白底黑字的 先看下效果图: 1.状态栏背景是白色: 在style中设置 <item name="colorPrimaryDark">@color/white</item> 2.写修改状态栏图标的颜色(暂时只知道黑色和白色) public class StatusBarUtil { /** * 修改状态栏为全透明 * @pa

  • Android开发实现简单的观察者与被观察者示例

    本文实例讲述了Android开发实现简单的观察者与被观察者.分享给大家供大家参考,具体如下: 概述: 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己. 观察者模式结构图 Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在一个集合里,每个主题都可以有任意数量的观察者,抽象主题提供一个

  • android开发通过Scroller实现过渡滑动效果操作示例

    本文实例讲述了android开发通过Scroller实现过渡滑动效果.分享给大家供大家参考,具体如下: 主要介绍一下Scroller这个类,它可以实现过渡滑动的效果,使滑动看起来不是那么生硬,当然它用大量的重绘来实现,invalidate();通过源码看: 看构造方法 /** * Create a Scroller with the default duration and interpolator. */ public Scroller(Context context) { this(cont

  • Android开发中自定义ProgressBar控件的方法示例

    本文实例讲述了Android开发中自定义ProgressBar控件的方法.分享给大家供大家参考,具体如下: 很简单,首先加载Drawable,在onMeasure设置好其区域大小, 然后使用canvas.clipRect绘图 public class ProgressView extends ImageView { private Drawable maskDraw; /** * 加载的进度 0-100 */ private int mProcess = 20; public ProgressV

  • Android开发实现的简单媒体播放器功能示例

    本文实例讲述了Android开发实现的简单媒体播放器功能.分享给大家供大家参考,具体如下: 一.概述: 因为播放视频需要很大的内存,所以必须使用surfaceview , surfaceview 里实现了双缓冲的功能, 二.全部代码: /** * @描述 使用surfaceview 创建视频 * @项目名称 App_Basic * @包名 com.example.basic.media * @类名 MediaPlayerActivity * @author chenlin * @date 201

  • Android开发之基于DialogFragment创建对话框的方法示例

    本文实例讲述了Android基于DialogFragment创建对话框的方法.分享给大家供大家参考,具体如下: /** * 使用DialogFragment创建对话框 * @description: * @author ldm * @date 2016-5-12 下午2:00:01 */ public class FragmentAlertDialog extends Activity { private Button button; @Override protected void onCre

随机推荐