项目中遇到 从也个页面向还有一个页面跳转传递一个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. Numpy科学计算工具

    Numpy初探 Numpy基础数据结构 Numpy数组是一个多维数组,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的原数据 导入该库: import numpy as np 多维数组 ...

  2. android取高度

    Rect rect = new Rect();  getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);  int top = r ...

  3. 关于vsphere的 许可证配置问题

    exsi未获得许可情况: exsi的许可证: vcenter server 未获许可: vcenter server的许可证: 写在最后: 无所不能的中国人,百度一下  许可证 就什么多有了,佩服,佩 ...

  4. ES6学习笔记(十四)Generator函数

    清明时节雨纷纷,路上行人欲断魂. 借问酒家何处有,牧童遥指杏花村. 二零一九年农历三月初一,清明节. 1.简介 1.1.基本概念 Generator 函数也是 ES6 提供的一种异步编程解决方案,据说 ...

  5. NodeJS代码调试

    1.在Chrome打开chrome://flags/#enable-devtools-experiments 2.激活Developer Tools experiments 3.重启Chrome 4. ...

  6. HDU 4398 Template Library Management (最优页面调度算法)

    中等偏易题.操作系统理论中的最优页面调度算法,贪心.当需要淘汰某个模版时,淘汰掉当前手中在最远的将来才会被用到(或者以后永远不再用到)的那个. 代码: #include <iostream> ...

  7. Mysql学习总结(1)——常用sql语句汇总

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name  2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...

  8. OpenGL 获取当前屏幕坐标对应的三维坐标

    转自原文 OpenGL 获取当前屏幕坐标对应的三维坐标,使用很简单glu库中的一个函数 #include <GL/glut.h> #include <stdlib.h> #in ...

  9. 学习笔记 Java_静态_继承 2014.7.12

    一.静态 1.构造函数:       特点:       1. 函数名和类名同样.       2. 不用定义返回值类型(和void不是一回事,而构造函数是根本不用定义返回值类型).       3. ...

  10. 荣耀A55高调上市仅仅为孤独求败?

        坦白说.华为近年来在手机市场上确实取得了一些成绩.比方之前P6的出现就凭借超薄的设计.突出的性价比让大家看到了国产手机的新希望.按理说.在手机市场上尝到甜头的华为应该继续坚持低价.亲民的路线, ...