zoukankan      html  css  js  c++  java
  • 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 "); 



  • 相关阅读:
    Apple http live streaming 不支持windows?
    CDN设计:[笔记]Analysis of Enterprise Media Server Workloads
    牛项目 Harvest
    一些校园招聘的题目和分析
    关于pdf转doc (word) 的工具 Solid Converter PDF
    A CAP Solution (Proving Brewer Wrong)
    6"电纸书/电子书 PaperCrop pdf重排使用心得
    CDN设计 层级化的cache_A
    Berkeley DB Hash、Btree、Queue、Recno 选择
    PowerDesigner 学习系列 简单操作
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6956541.html
Copyright © 2011-2022 走看看