Activity 之间 传递 List 封装的对象或者对象
项目中遇到 从也个页面向还有一个页面跳转传递一个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 封装的对象或者对象的更多相关文章
- Android基础 -- Activity之间传递数据(bitmap和map对象)
原文:http://blog.csdn.net/xueerfei008/article/details/23046341 做项目的时候需要用到在2个activity之间传递一些数据,之前做的都是些字符 ...
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
http://blog.csdn.net/cjjky/article/details/6441104 在Android中的不同Activity之间传递对象,我们可以考虑采用Bundle.putSeri ...
- Activity之间传递数据或数据包Bundle,传递对象,对象序列化,对象实现Parcelable接口
package com.gaojinhua.android.activitymsg; import android.content.Intent; import android.os.Bundle; ...
- [Android学习]Activity之间传递对象和对象集合
开发过程中,Activity之间传递数据是必不可少的,android中使用Intent和Bundle作为数据载体,在Activity之间传递,对于基础数据类型,Bundle已经提供相关的put,get ...
- Android之Activity之间传递对象
在非常多时候,我们须要在Activity之间传递对象,比方当你点击了某列表的item,须要传递给下一个Activity该对象,那我们须要该怎么做呢? Android支持两种传递对象的方式.一种是bun ...
- Activity之间传递大数据问题
Android开发人员都知道,Intent适用于在不同的Activity之间传递数据,包括参数.字符串.以及序列化的对象等.但是笔者所做的项目用到了使用Intent 传递Bitmap图片对象,图片的数 ...
- 大叔也说Xamarin~Android篇~Activity之间传递数组
回到目录 我们在开发应用程序时,不可能只使用一个Layout或者一个Activity,比如你个管理系统,要求用户先登陆然后再使用,这时你至少要有两个activity吧,先登陆一个,然后成功后需要跳到别 ...
- Activity之间传递数据的方式及常见问题总结
Activity之间传递数据一般通过以下几种方式实现: 1. 通过intent传递数据 2. 通过Application 3. 使用单例 4. 静态成员变量.(可以考虑 WeakReferences) ...
- 【Android 复习】 : Activity之间传递数据的几种方式
在Android开发中,我们通常需要在不同的Activity之间传递数据,下面我们就来总结一下在Activity之间数据传递的几种方式. 1. 使用Intent来传递数据 Intent表示意图,很多时 ...
随机推荐
- BZOJ 4551 HEOI 2016 树 (并查集)
思路: 考虑时光倒流 这不就是并查集裸题了-----. //By SiriusRen #include <cstdio> #include <cstring> #include ...
- java连接操作Oracle
package com.sp.test; import java.sql.*; import java.util.*; public class Text_lianxi extends Thread ...
- 200 from memory cache / from disk cache / 304 Not Modified 区别
三者情况有什么区别和联系,什么情况下会发生200 from memory cache 或 200 from disk cache 或 304 Not Modified? 200 from memory ...
- Passpoint R1
Passpoint R1 自从 Android 6.0 支持从网络下载包含配置文件和凭据信息的特殊文件来配置 Passpoint R1(第 1 版)凭据,Android 就一直支持 Passpoint ...
- AOC 电视机T3212M 进入 工厂模式方法,修改开机启动方式
原启动方式: 通电,再按遥控 器上 “开机” 希望改成: 通电直接打开电视 方法: 1. 按遥控器上的 menu 1147 进入 工厂模式 2. 选择 7 General Settin ...
- 由于webpack-cli版本问题造成的错误
The CLI moved into a separate package: webpack-cli Please install 'webpack-cli' in addition to webpa ...
- 容器配置https
生成秘钥库 通过jdk的keytool工具生成秘钥库 keytool -genkeypair -alias "localhost" -keyalg "RSA" ...
- 极速响应Excel数据报表请求的一种方法
摘要 通过缓存和维护Excel Workbook实例,极速响应Excel数据报表请求. 这是一个真实的大数据"云计算"项目中的解决方案,在给定的时间和资源下,只有这种方法是最简单并 ...
- Unity ContextMenu特性
有时候我们需要在编辑器下,频繁的做一些操作,比如说在不同的位置创建物体,一个个的修改坐标显然有点繁琐 这时候ContextMenu就派上用处了 例:利用 LineRenderer 画圆,我们不可能一个 ...
- iOS经常使用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)
1. 简单工厂模式 怎样理解简单工厂,工厂方法. 抽象工厂三种设计模式? 简单工厂的生活场景.卖早点的小摊贩.他给你提供包子,馒头,地沟油烙的煎饼等,小贩是一个工厂.它生产包子,馒头,地沟油烙的煎饼. ...