• 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 "); 



  • 相关阅读:
    【转】go语言的字节序
    【转】Go maps in action
    angular 的进一步深入理解
    go 中goroutine 的使用
    hdu2516-取石子游戏 (斐波那契博弈)【博弈 二分查找】
    poj1067-取石子游戏 (威佐夫博弈)
    hdu1710-Binary Tree Traversals (由二叉树的先序序列和中序序列求后序序列)
    hdu3999-The order of a Tree (二叉树的先序遍历)
    第二个MFC实例:GPA计算器
    第一个MFC实例:计算圆周长和圆面积
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6956541.html
Copyright © 2020-2023  润新知