项目中遇到 从也个页面向还有一个页面跳转传递一个List 封装的对象 。按网上查的资料 须要把 对象 实现 Serializable接口。

写了一下。可是跳转直接崩溃。一直看错误之日找不到原因后来自习教案代码,发现bean里面还有其它bean。对象里的对象没有 进行序列化。记录分享一下。

代码例如以下:

两个Bean 文件

import java.io.Serializable;
import java.util.List; /** * ${JHS}
*/ public class KnowledgeClassifyChildBean implements Serializable { /**
* 知识点ID *
*/
public String knowledgeId;
/**
* 知识点名称
*/
public String knowledgeName;
/**
* 知识点题数
*/
public int Sum;
public boolean isSelect = false; }
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List; /** * ${JHS}
*/ public class KnowledgeClassifyBean implements Serializable { /*
{
"knowledgeId": 387,//知识点ID
"knowledgeName": "认识立体几何图形",//知识点名称
"Sum":15 //知识点题数
*/
private static final long serialVersionUID = 1L; /**
* 章节ID *
*/
public String chapterId;
/**
* 章节名称
*/
public String chapterName;
public boolean isSelect = false;
<span style="background-color: rgb(255, 0, 0);"> public List<KnowledgeClassifyChildBean> knowledgeList = new ArrayList<KnowledgeClassifyChildBean>();</span> }

Activity 之间传 List<KnowledgeClassifyBean >

KnowledgeClassifyBean mKnowledgeClassifyBean ;

List<KnowledgeClassifyBean>   knowledgeClassifyBeanList = new ArrayList<KnowledgeClassifyBean>();

for (int i = 0; i < 6; i++) {

      mKnowledgeClassifyBean      = new KnowledgeClassifyBean();

            mKnowledgeClassifyBean.chapterName = "章节名称  " + i + i;

            for (int j = 0; j < 6; j++) {

                KnowledgeClassifyChildBean mKnowledgeList = new KnowledgeClassifyChildBean();

                mKnowledgeList.knowledgeName = " 名称  " + j;

                mKnowledgeClassifyBean.knowledgeList.add(mKnowledgeList);

            }

            knowledgeClassifyBeanList.add(mKnowledgeClassifyBean);

        }



 Intent intent = new Intent(A.this, B.class);

                if (knowledgeClassifyBeanList != null) {

                    intent.putExtra("knowledgeClassifyBeanList", (Serializable) knowledgeClassifyBeanList);

                    startActivity(intent);

                }

B这边 Activity  接收

  Intent intent = getIntent();
List<KnowledgeClassifyBean> knowledgeClassifyBeanList = ( List<KnowledgeClassifyBean>) intent.getSerializableExtra("knowledgeClassifyBeanList");
Log.i("-----knowledge--" ,knowledgeClassifyBeanList.size() + "");

Activity 之间传递对象也是实现  Serializable 接口

KnowledgeClassifyBean   knowledgeClassifyBean = new KnowledgeClassifyBean();

intent.putExtra("knowledgeClassifyBean ",
knowledgeClassifyBean );

接收的Activity

Intent intent = getIntent();  

KnowledgeClassifyBean   knowledgeClassifyBean  =

(KnowledgeClassifyBean
)intent.getSerializableExtra("knowledgeClassifyBean ");

Activity 之间 传递 List 封装的对象或者对象的更多相关文章

  1. Android基础 -- Activity之间传递数据(bitmap和map对象)

    原文:http://blog.csdn.net/xueerfei008/article/details/23046341 做项目的时候需要用到在2个activity之间传递一些数据,之前做的都是些字符 ...

  2. Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]

    http://blog.csdn.net/cjjky/article/details/6441104 在Android中的不同Activity之间传递对象,我们可以考虑采用Bundle.putSeri ...

  3. Activity之间传递数据或数据包Bundle,传递对象,对象序列化,对象实现Parcelable接口

    package com.gaojinhua.android.activitymsg; import android.content.Intent; import android.os.Bundle; ...

  4. [Android学习]Activity之间传递对象和对象集合

    开发过程中,Activity之间传递数据是必不可少的,android中使用Intent和Bundle作为数据载体,在Activity之间传递,对于基础数据类型,Bundle已经提供相关的put,get ...

  5. Android之Activity之间传递对象

    在非常多时候,我们须要在Activity之间传递对象,比方当你点击了某列表的item,须要传递给下一个Activity该对象,那我们须要该怎么做呢? Android支持两种传递对象的方式.一种是bun ...

  6. Activity之间传递大数据问题

    Android开发人员都知道,Intent适用于在不同的Activity之间传递数据,包括参数.字符串.以及序列化的对象等.但是笔者所做的项目用到了使用Intent 传递Bitmap图片对象,图片的数 ...

  7. 大叔也说Xamarin~Android篇~Activity之间传递数组

    回到目录 我们在开发应用程序时,不可能只使用一个Layout或者一个Activity,比如你个管理系统,要求用户先登陆然后再使用,这时你至少要有两个activity吧,先登陆一个,然后成功后需要跳到别 ...

  8. Activity之间传递数据的方式及常见问题总结

    Activity之间传递数据一般通过以下几种方式实现: 1. 通过intent传递数据 2. 通过Application 3. 使用单例 4. 静态成员变量.(可以考虑 WeakReferences) ...

  9. 【Android 复习】 : Activity之间传递数据的几种方式

    在Android开发中,我们通常需要在不同的Activity之间传递数据,下面我们就来总结一下在Activity之间数据传递的几种方式. 1. 使用Intent来传递数据 Intent表示意图,很多时 ...

随机推荐

  1. 41.AngularJS 服务(Service)

    转自:https://www.cnblogs.com/best/tag/Angular/ 什么是服务? 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用. A ...

  2. Java类和对象9

    (1)创建一个叫做机动车的类:属性:车牌号(String),车速(int),载重量(double)功能:加速(车速自增).减速(车速自减).修改车牌号,查询车的载重量.编写两个构造方法:一个没有形参, ...

  3. studyLink

    http://order.csdn.net/myorder/detail?id=850343 csdn

  4. Kubernetes1.5 集成dashboard

    Kubernetes1.5 集成dashboard 配置kubernetes的dashboard相对简单.同样的,只需要从源码中获取到dashboard-controller.yaml及dashboa ...

  5. python-排序算法 冒泡和快速排序

    交换排序 交换排序有冒泡排序和快速排序 冒泡排序 冒泡排序就是每次找出最大(最小)元素,放在集合最前或最后,这是最简单的排序算法 print("未排序之前:",collection ...

  6. Python安装(一)

    Python的安装 打开python的官网 进入下载界面 选择下载 安装步骤如下所示: 安装完成进入到dos界面,输入python -V,如下图展示及成功 打开Python工具 1:: print() ...

  7. 怎样只接受固定长度数组为参数 & 数组形参

    注意,对于多维数组的情况.

  8. elasticsearch搜索类型简单介绍

    简单搜索 GET请求很easy--你能轻松获取你想要的文档.让我们来进一步尝试一些东西.比方简单的搜索! 我们尝试一个最简单的搜索所有员工的请求: GET /megacorp/employee/_se ...

  9. TRIZ系列-创新原理-7-嵌套原理

    原理表述例如以下: 1)把一个物体嵌入另外一个物体.然后将这两个物体再嵌入第三个物体,以此类推. 这个原理又叫俄罗斯娃原理,目的是在不影响原有功能的情况下: A) 在须要时.能够降低系统的体积和便于携 ...

  10. Git的日常处理流程

    前提 本地有2个分支,一个是master,还有一个是local master 默认追踪origin/master local 通过git branch -u origin/master来映射 开发的时 ...