《“透视”个人大数据》项目开发小记 --(三)Android APP 开发(5)数据表多级分类及多形式显示的实践

       借助Android系统UI设计的灵活性,在APP数据表应用中实现了多级分类及多形式显示,使操作应用更加流畅。这里以APP中的记事薄(NoteBook)为例,做些介绍和分享。

 一,分类及显示形式
        在"记事薄"中,可以设置分类,显示形式有“文字列表”,“单项图列表”及“单项图列表”。可以处理“查找”,“特别显示”的特定需求。

 

  二,程序设计及代码
          NoteBook的原始数据是用JNI使用C++保存及装入。Java界面使用Fragment,为了实现分类建立了两个 Java类,一个是"NoteBookData"数据类,一个是"NoteBookIndex"索引类,显示及操作通过"NoteBookAdapter"类来完成。
       1),  "NoteBookData"数据类

       

package com.bi3eview.newstart60.local.notebook;
import android.graphics.Color;

import java.io.Serializable;

/**
 * Created by bs60 on 2022.01.31
 */
public class NoteBookData  implements Serializable{
    public static int iselectposj = -1;
    public static int cselColor = Color.WHITE;
    public static int nomoralColor = Color.BLUE;
    public static boolean mDataChangeblv = false;
    public static int mfindItem_Passwd = -1;
    public static int mcurAppendItemIDno = 1;
    public static byte mfindItem_kind = ' ';
    public static String mWorkDatadir = "";
    public static String mItemPicTmpfile = "";
    public static String mItemPicFilePre = "";
    public static String mItemPicFileTail = "";
    public static final int PICMARKCODE = 2216;
    public static float PICITEMSIZE = 62;

    public static final String mItemAssetPicName = "notePictureEmpty.png";
    public static final byte SELFPIC_DEFAULT = ' ';
    public static final byte SELFPIC_ASSET = 'A';
    public static final byte SELFPIC_PHOTO = 'B';
    public static byte mcurItem_Selfpic = ' ';// ' ':default,'A':asset,'B':photo
    public static int mcurItem_AssetJno = -1;
    public static String mcurItem_PhotoFilename = "";

    public final static byte ITEMKIND_CLASS = '1';
    public final static byte ITEMKIND_DATA = 'D';
    public final static byte TITLESTATUS_OPEN = 'O';
    public final static byte TITLESTATUS_CLOSE = 'C';
    public final static int FOLDERCOLOR_DKYELLOW  = 0xFF888822;
    public final static int UPDATESAVEITEMDATA = 220203;
    //... public static String msel_modelName = "";
    //... public static int msel_modelKeycode = 0;
    public final static byte ITEMDELETE_YES = 'Y';
    public final static byte ITEMDELETE_NO = ' ';
    public final static byte ITEMPIC_YES = 'Y';
    public final static byte ITEMPIC_NO = ' ';

    public final static byte ITEMMODE_LIST = 'A';
    public final static byte ITEMMODE_IMAGE = 'B';
    public final static byte ITEMMODE_2IMAGE = 'C';
    public static byte mcurItemMode = 'A';
    public static String mcustom_RaioAll = "全部";
    public static String mcustom_Col1Name = "名称";
    public static String mcustom_Col2Note = "备注";
    public static String mkeyInfo_Title = "特别提示";
    public final static int FINDITEM_ALL = 0;
    public final static int FINDITEM_COL1NAME = 1;
    public final static int FINDITEM_COL1NOTE = 2;
    public static int mcur_findItemjno = 0;

    private String strName,strNote;
    private int itemIDno;
    private int iyear;
    private int ipassword;
    private int iassetjno;
    private byte bDelmark;
    private byte bDakind,bselfPic,curStatus;
    private byte month;
    private byte weekno;// 星期一起, 范围为0-6
    private byte day,hour,min,sec;
    // set
    public NoteBookData()
    {
        strName = "";
        strNote = "";
        itemIDno = 0;
        ipassword = 0;
        iassetjno = -1;
        bselfPic = ITEMPIC_NO;
        bDelmark = ITEMDELETE_NO;
    }
    // set
    public void setItemDateTime(int icyear,byte bmonth,byte bweekno,byte bday,byte bhour,byte bmin,byte bsec)
    {
        iyear = icyear;
        month = bmonth;
        weekno = bweekno;
        day = bday;
        hour = bhour;
        min = bmin;
        sec = bsec;
    }
    public void setByteParaItem(byte dakindb,byte selfpicb,byte status)
    {
        bDakind = dakindb;
        bselfPic = selfpicb;
        curStatus = status;
    }
    public void setItemAssetJno(int iasset) {
        iassetjno = iasset;
    }
    public void setItemSelfpicMark(byte cbselfpic)
    {
        bselfPic = cbselfpic;
    }
    public void setItemDeleteMark(byte bdelmark)
    {
        bDelmark = bdelmark;
    }
    public void setItemName(String cName){ strName = cName; }
    public void setItemNote(String sNote){ this.strNote = sNote; }
    public void setItemIDno(int iIDno){ itemIDno = iIDno; }
    public void setItemPasswd(int icpasswd){ ipassword = icpasswd; }
    // get
    public String getItemName()
    {
        return strName;
    }
    public String getItemNote(){
        return strNote;
    }
    public String getItemDateTime(){
        String strDateTime = String.valueOf(iyear)+"/"+String.valueOf(month)+"/"+String.valueOf(day)+" "+
                String.valueOf(hour)+":"+String.valueOf(min);
        return strDateTime;
    }
    public int getItemIDno(){ return itemIDno; }
    public byte getStatus(){ return curStatus;}
    public byte getDatakind(){
        byte bretDakind = bDakind;
        if(bDelmark == ITEMDELETE_YES) bretDakind = ITEMKIND_DATA;
        return bretDakind;
    }
    public byte getSelfpic(){ return bselfPic;}
    public int getDateYear(){ return iyear;}
    public byte getDateMonth(){ return month;}
    public byte getDateWeekno(){ return weekno;}
    public byte getDateDay(){ return day;}
    public byte getTimeHour(){ return hour;}
    public byte getTimeMinute(){ return min;}
    public byte getTimeSecond(){ return sec;}
    public void switchTitleStatus(){
        if(curStatus == TITLESTATUS_OPEN){
            curStatus = TITLESTATUS_CLOSE;
        }else{
            curStatus = TITLESTATUS_OPEN;
        };
    }
    public String getItemStrIDno(){
        String strIDno = String.valueOf(itemIDno);
        return strIDno;
    }
    public byte getItemDelMark(){ return bDelmark;}
    public int getItemPasswd(){ return ipassword; }
    public int getItemAssetJno() {
        return iassetjno;
    }
    public String getItemPicFullpathName() {
        String strPicName = mWorkDatadir + mItemPicFilePre + String.valueOf(itemIDno) + mItemPicFileTail;
        return strPicName;
    }
}

2), "NoteBookIndex"索引类

package com.bi3eview.newstart60.local.notebook;
import android.graphics.Color;
import java.io.Serializable;
/**
 * Created by bs60 on 2022.01.31
 */
public class NoteBookIndex  implements Serializable{
    public static int curSelprojno = -1;
    public static int cselColor = Color.WHITE;
    public static int nomoralColor = Color.BLUE;
    public static int titleNormalColor = Color.BLUE;
    public static int titleSelColor = Color.WHITE;
    public static int dataNormalColor = Color.BLUE;
    public static int dataSelColor = Color.WHITE;
    public final static int ITEMSELCLICK = 1;
    public final static int ITEMSELLONGCLICK = 2;
    public final static int ITEMIMAGESELCLICK = 3;
    public final static int ITEMIMAGESELLONGCLICK = 4;
    public final static int FOLDERIMGBUT_CLICK = 101;
    public final static int FOLDERIMGBUT_LONGCLICK = 102;
    public final static String ITEMTYPE_KEYTITLE = "KeyTitle";
    public final static String ITEMTYPE_KEYDATA = "KeyData";
    public final static String ITEMTYPE_TITLE = "ItemClass";
    public final static String ITEMTYPE_DATA = "ItemData";
    public final static String ITEMTYPE_LIST = "List";
    public final static String ITEMTYPE_IMAGE = "IMAGE";
    public final static String ITEMTYPE_2IMAGE = "2IMAGE";
    public final static byte ITEMKIND_KEYINFO = '2';
    public final static byte ITEMKIND_TITLE = '1';
    public final static byte ITEMKIND_DATA = 'D';
    public final static byte ITEMKIND_FIND = 'F';
    public final static byte ITEMKIND_FINDEMPTY = ' ';

    private int itemStartjno,itemNum;
    private int findItemPasswd;
    private byte itemDakdc;
    private byte itemStatus;
    private byte findItem;
    private byte titleMarkb;
    private String type = "";
    NoteBookIndex(){
        itemDakdc = ' ';
        itemStatus = ' ';
        titleMarkb = ' ';
        findItem = ' ';
        findItemPasswd = -1;
        type = "";
    }
    // set
    public void setItemStartPosj(int iposj){ itemStartjno = iposj; }
    public void setFindItemPasswd(int ipasswd){ findItemPasswd = ipasswd; }
    public void setItemNum(int inum){ itemNum = inum; }
    public void setItemDataKind(byte dakdc){ itemDakdc = dakdc; }
    public void setFindItemMark(byte findmark){ findItem = findmark; }
    public void setItemStatus(byte status){ itemStatus = status; }
    public void setItemTitlectrl(byte bTitle){ titleMarkb = bTitle; }
    public void setItemType(String daType){ type = daType; }
    // get
    public int getItemStartPosj(){ return itemStartjno; }
    public int getItemNum(){ return itemNum; }
    public byte getItemDataKind(){ return itemDakdc; }
    public byte getItemStatus(){ return itemStatus; }
    public String getItemType(){ return type;}
    public byte getFindItemMark(){ return findItem; }
    public int getFindItemPasswd(){ return findItemPasswd; }
}

3), "NoteBookAdapter" 类
          A), 代码

package com.bi3eview.newstart60.local.notebook;
import android.content.Context;
import android.graphics.Color;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.bi3eview.newstart60.local.R;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;

import java.util.ArrayList;

/**
 * Created by bs60 on 2022.01.31
 */
public class NoteBookAdapter  extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    public final static int PRESSITEM_SHORT = 3;
    public final static int PRESSITEM_LONG = 13;
    public final static int PRESSBUTTON_SHORT = 2;
    public final static int PRESSBUTTON_LONG = 12;
    private String color[] = {"#ddaaaa", "#2233ff", "#FF4081"};
    private final int EMPTY_VIEW = 1;
    private final int PROGRESS_VIEW = 2;
    private final int TITLE_VIEW = 3;
    private final int DATA_VIEW = 4;
    private final int DATAVIEW_LIST = 5;
    private final int DATAVIEW_IMAGE = 6;
    private final int DATAVIEW_2IMAGE = 7;
    private final int KEYINFO_VIEW = 10;
    private final int KEYINFO_DATA = 11;
    private final int MAXJN_KEYINFOREC = 20;
    private Context mContext;
    public ArrayList<NoteBookData> mDaItemList;
    public ArrayList<NoteBookKeyInfoData> mDaKeyInfoList = null;
    public ArrayList<NoteBookIndex> mDataIndexLst = null;
    public ArrayList<NoteBookIndex> mDataFindLst = null;
    private OnAddRemoveListener listener;
    private OnSelClickListener selClickLister;
    private boolean mfindItemblv = false;
    private String strTraceInfo = "";

    public NoteBookAdapter(Context context,  ArrayList<NoteBookData> dataList,ArrayList<NoteBookIndex> cIndexList,ArrayList<NoteBookIndex> cFindList, NoteBookAdapter.OnSelClickListener selLister) {
        this.mContext = context;
        this.mDaItemList = dataList;
        this.mDataIndexLst = cIndexList;
        this.mDataFindLst = cFindList;
        this.selClickLister = selLister;
        mfindItemblv = false;
        strTraceInfo = "";
    }

    public NoteBookAdapter(Context context,  ArrayList<NoteBookData> dataList,ArrayList<NoteBookIndex> cIndexList,ArrayList<NoteBookIndex> cFindList,ArrayList<NoteBookKeyInfoData> cInfoList, NoteBookAdapter.OnSelClickListener selLister) {
        this.mContext = context;
        this.mDaItemList = dataList;
        this.mDataIndexLst = cIndexList;
        this.mDataFindLst = cFindList;
        this.mDaKeyInfoList = cInfoList;
        this.selClickLister = selLister;
        mfindItemblv = false;
        strTraceInfo = "";
    }

    public boolean checkGetItemIfClass(int icposj)
    {
        boolean creblv = false;
        if(icposj >= 0 && icposj < mDaItemList.size()){
            byte curDakind = mDaItemList.get(icposj).getDatakind();
            if (curDakind == NoteBookData.ITEMKIND_CLASS) creblv = true;
        }
        return creblv;
    }

    public int checkItemIfKeyInfo(int icposj)
    {
        int iretvcd = 0;
        if(icposj >= 0 && icposj < mDataIndexLst.size()){
            String strType = mDataIndexLst.get(icposj).getItemType();
            if (strType == NoteBookIndex.ITEMTYPE_KEYTITLE) iretvcd = 1;
            if (strType == NoteBookIndex.ITEMTYPE_KEYDATA) iretvcd = 2;
        }
        return iretvcd;
    }

    public int GetSelItemKeyposj(int icposj)
    {
        int iretvcd = -1;
        if(icposj >= 0 && icposj < mDataIndexLst.size()){
            String strType = mDataIndexLst.get(icposj).getItemType();
            if (strType == NoteBookIndex.ITEMTYPE_KEYDATA){
                int ikj = mDataIndexLst.get(icposj).getItemStartPosj();
                if(ikj >= 0 && ikj < mDaKeyInfoList.size()){
                    iretvcd = mDaKeyInfoList.get(ikj).getKeyInfoItemposj();
                }
            }
        }
        return iretvcd;
    }

    public boolean deleteSelKeyItem(int icposj)
    {
        boolean cretblv = false;
        if(icposj >= 0 && icposj < mDataIndexLst.size()){
            String strType = mDataIndexLst.get(icposj).getItemType();
            if (strType == NoteBookIndex.ITEMTYPE_KEYDATA){
                int ikj = mDataIndexLst.get(icposj).getItemStartPosj();
                if(ikj >= 0 && ikj < mDaKeyInfoList.size()){
                    mDaKeyInfoList.remove(ikj);
                    cretblv = true;
                }
            }
        }
        return cretblv;
    }

    public String GetItemPictureFullname(int icposj)
    {
        String strFullname = "";
        if(icposj >= 0 && icposj < mDaItemList.size()){
            byte selfpic = mDaItemList.get(icposj).getSelfpic();
            if(selfpic != NoteBookData.ITEMPIC_YES){
                strFullname = "file:///android_asset/"+NoteBookData.mItemAssetPicName;// "notePictureEmpty.png";
                int iassetjno = mDaItemList.get(icposj).getItemAssetJno();
                if(iassetjno > 99) iassetjno = 99;
                if(iassetjno > 0){
                    strFullname = "file:///android_asset/"+"eventtitlepic"+String.valueOf(iassetjno)+".png";
                }
            }else {
                strFullname = mDaItemList.get(icposj).getItemPicFullpathName();
            }
        }
        return strFullname;
    }

    public int checkGetKeyInfoItem(int itemIDno)
    {
        int iretposj = -1;
        if(mDaKeyInfoList.size() > 0){
            for(int jk = 0;jk < mDaKeyInfoList.size();jk++){
                if(mDaKeyInfoList.get(jk).getKeyInfoIDno() == itemIDno){
                    iretposj = jk;
                    break;
                }
            }
        }
        return iretposj;
    }

    public boolean appendUpdateKeyInfo(boolean clearblv,boolean appendblv,int itemIDno,String strKeyInfo)
    {
        boolean cretblv = false;
        if(clearblv){
            mDaKeyInfoList.clear();
            if(itemIDno < 0 && strKeyInfo.length() <= 0) return true;
        }
        int iappendPosj = -1;
        if(!appendblv){
            if(mDaKeyInfoList.size() > 0){
                for(int jk = 0;jk < mDaKeyInfoList.size();jk++){
                    if(mDaKeyInfoList.get(jk).getKeyInfoIDno() == itemIDno){
                        iappendPosj = jk;
                        break;
                    }
                }
            };
        }
        if(iappendPosj < 0){// new append item
            if(mDaKeyInfoList.size() >= MAXJN_KEYINFOREC){
                // first in and first out;
                mDaKeyInfoList.remove(0);
            };
            byte statusb = ' ';
            NoteBookKeyInfoData appendItem = new NoteBookKeyInfoData(statusb,strKeyInfo,itemIDno);
            mDaKeyInfoList.add(appendItem);
             cretblv = true;
        }else{
            if(iappendPosj >= 0 && iappendPosj < mDaKeyInfoList.size()){
                byte statusb = ' ';
                mDaKeyInfoList.get(iappendPosj).updateSetItem(statusb,strKeyInfo,itemIDno);
                cretblv = true;
            }
        }

        return cretblv;
    }

    public String getTraceInfo()
    {
        return strTraceInfo;
    }

    public String GetKeyInfoItemNote(int itemIDno)
    {
        String strKeynote = "";
        if(mDaKeyInfoList.size() > 0){
            for(int jk = 0;jk < mDaKeyInfoList.size();jk++){
                if(mDaKeyInfoList.get(jk).getKeyInfoIDno() == itemIDno){
                    strKeynote = mDaKeyInfoList.get(jk).getKeyInfoNote();
                    break;
                }
            }
        }
        return strKeynote;
    }

    public int GetKeyInfoItemNum()
    {
        return mDaKeyInfoList.size();
    }

    public int GetItemIDno(int icposj)
    {
        int iretIDno = -1;
        if(icposj >= 0 && icposj < mDaItemList.size()){
            iretIDno = mDaItemList.get(icposj).getItemIDno();
        }
        return iretIDno;
    }

    public int findBuildFindItemLst(String strFindItem)
    {
        int iretjn = 0;
        mfindItemblv = false;
        mDataFindLst.clear();
        if(mDaItemList.size() > 0){
            int iclassPasswd = -1;
            for(int j = 0;j < mDaItemList.size();j++){
                byte curDakind = mDaItemList.get(j).getDatakind();
                //... byte curStatus = mDaItemList.get(j).getStatus();
                byte bDelMark = mDaItemList.get(j).getItemDelMark();
                if(bDelMark == NoteBookData.ITEMDELETE_YES) continue;
                if (curDakind == NoteBookData.ITEMKIND_CLASS){
                    iclassPasswd = mDaItemList.get(j).getItemPasswd();
                    continue;
                }
                String itemName = mDaItemList.get(j).getItemName();
                String itemNote = mDaItemList.get(j).getItemNote();
                if(NoteBookData.mcur_findItemjno == NoteBookData.FINDITEM_COL1NAME){
                    if(!itemName.contains(strFindItem)) continue;
                }else if(NoteBookData.mcur_findItemjno == NoteBookData.FINDITEM_COL1NOTE){
                    if(!itemNote.contains(strFindItem)) continue;
                }else{
                    if(itemNote.contains(strFindItem) == false && itemName.contains(strFindItem) == false) continue;;
                }
                int icpasswd = mDaItemList.get(j).getItemPasswd();
                if(iclassPasswd > 0 && icpasswd <= 0) icpasswd = iclassPasswd;
                NoteBookIndex cDaOrder = new NoteBookIndex();
                cDaOrder.setItemStartPosj(j);
                cDaOrder.setItemNum(1);
                cDaOrder.setFindItemMark(NoteBookIndex.ITEMKIND_FIND);
                cDaOrder.setFindItemPasswd(icpasswd);

                cDaOrder.setItemType(NoteBookIndex.ITEMTYPE_LIST);
                if(NoteBookData.mcurItemMode == NoteBookData.ITEMMODE_IMAGE){
                    cDaOrder.setItemType(NoteBookIndex.ITEMTYPE_IMAGE);
                }
                if(NoteBookData.mcurItemMode == NoteBookData.ITEMMODE_2IMAGE){
                    cDaOrder.setItemType(NoteBookIndex.ITEMTYPE_IMAGE);
                }
                mDataFindLst.add(cDaOrder);
                iretjn++;
            }
            if(iretjn > 0) mfindItemblv = true;
        }
        return iretjn;
    }

    public boolean checkResetFindItem()
    {
        boolean cretblv = false;
        if(mfindItemblv == true && mDataFindLst.size() > 0){
            cretblv = true;
        }
        if(mDataFindLst.size() > 0) mDataFindLst.clear();
        mfindItemblv = false;
        return cretblv;
    }

    public void build_IndexItemLst()
    {
        mDataIndexLst.clear();
        if(mfindItemblv == true && mDataFindLst.size() > 0){
            for(int j = 0;j < mDataFindLst.size();j++){
                mDataIndexLst.add(mDataFindLst.get(j));
            }
        }
        // key information
        if(mDaKeyInfoList.size() > 0){
            NoteBookIndex cDaOrder = new NoteBookIndex();
            cDaOrder.setItemStartPosj(-1);
            cDaOrder.setItemNum(1);
            cDaOrder.setItemStatus(NoteBookData.TITLESTATUS_OPEN);
            cDaOrder.setItemType(NoteBookIndex.ITEMTYPE_KEYTITLE);
            mDataIndexLst.add(cDaOrder);
            for (int jk = 0;jk < mDaKeyInfoList.size();jk++){
                if(NoteBookKeyInfoData.curFolderStatus != NoteBookKeyInfoData.FOLDERSTATUS_OPEN) break;
                int ikeyIDno = mDaKeyInfoList.get(jk).getKeyInfoIDno();
                if(ikeyIDno <= 0) continue;
                int itemposj = findGetItemOnIDno(ikeyIDno);
                if(itemposj < 0) continue;
                mDaKeyInfoList.get(jk).SetItemposition(itemposj);
                NoteBookIndex cDaOrder2 = new NoteBookIndex();
                cDaOrder2.setItemStartPosj(jk);
                cDaOrder2.setItemNum(1);
                cDaOrder2.setItemType(NoteBookIndex.ITEMTYPE_KEYDATA);
                mDataIndexLst.add(cDaOrder2);
            };
        }
         // build Data List
        if(mDaItemList.size() > 0){
            byte itemTitle = ' ';
            byte titleStatus = ' ';
            for(int j = 0;j < mDaItemList.size();j++){
                byte curDakind = mDaItemList.get(j).getDatakind();
                byte curStatus = mDaItemList.get(j).getStatus();
                byte bDelMark = mDaItemList.get(j).getItemDelMark();
                if(bDelMark != NoteBookData.ITEMDELETE_YES) {
                    if (curDakind == NoteBookData.ITEMKIND_CLASS) {
                        NoteBookIndex cDaOrder = new NoteBookIndex();
                        cDaOrder.setItemStartPosj(j);
                        cDaOrder.setItemNum(1);
                        cDaOrder.setItemTitlectrl(curDakind);
                        cDaOrder.setItemStatus(curStatus);
                        cDaOrder.setItemType(NoteBookIndex.ITEMTYPE_TITLE);
                        itemTitle = curDakind;
                        titleStatus = curStatus;
                        mDataIndexLst.add(cDaOrder);
                        continue;
                    }
                    if (curDakind == NoteBookData.ITEMKIND_DATA && titleStatus == NoteBookData.TITLESTATUS_CLOSE) {
                        continue;
                    }
                }else{
                    if (titleStatus == NoteBookData.TITLESTATUS_CLOSE) {
                        continue;
                    };
                }
                NoteBookIndex cDaOrder = new NoteBookIndex();
                cDaOrder.setItemStartPosj(j);
                cDaOrder.setItemNum(1);
                if(NoteBookData.mcurItemMode == NoteBookData.ITEMMODE_2IMAGE){
                    int inextj = j+1;
                    if(inextj < mDaItemList.size()) {
                        byte ctDakind = mDaItemList.get(inextj).getDatakind();
                        //... byte btDelMark = mDaItemList.get(inextj).getItemDelMark();
                        if(ctDakind == NoteBookData.ITEMKIND_DATA){
                            cDaOrder.setItemNum(2);
                            j++;
                        }
                    }
                }
                cDaOrder.setItemType(NoteBookIndex.ITEMTYPE_LIST);
                if(NoteBookData.mcurItemMode == NoteBookData.ITEMMODE_IMAGE){
                    cDaOrder.setItemType(NoteBookIndex.ITEMTYPE_IMAGE);
                }
                if(NoteBookData.mcurItemMode == NoteBookData.ITEMMODE_2IMAGE){
                    cDaOrder.setItemType(NoteBookIndex.ITEMTYPE_2IMAGE);
                }
                mDataIndexLst.add(cDaOrder);
            }
        }
    }

    public int getCurIndexPosj(int itemposj,int idefaultj)
    {
        int iretposj = idefaultj;
        if(mDataIndexLst.size() > 0){
            for(int j = 0;j < mDataIndexLst.size();j++){
                int istposj = mDataIndexLst.get(j).getItemStartPosj();
                if(istposj != itemposj) continue;
                iretposj = j;
                break;
            }
        }
        return iretposj;
    }

    private int findGetItemOnIDno(int icIDno)
    {
        int iretposj = -1;
        for(int j = 0;j < mDaItemList.size();j++) {
            byte curDakind = mDaItemList.get(j).getDatakind();
            byte curStatus = mDaItemList.get(j).getStatus();
            byte bDelMark = mDaItemList.get(j).getItemDelMark();
            if (bDelMark == NoteBookData.ITEMDELETE_YES) continue;
            if (curDakind != NoteBookData.ITEMKIND_DATA) continue;
            int itemIDno = mDaItemList.get(j).getItemIDno();
            if(itemIDno == icIDno){
                iretposj = j;
                break;
            }
        }
        return iretposj;
    }

    private boolean commonFolderButtonOper(int iposj)
    {
        boolean cretblv = false;
        if(iposj >= 0 && iposj < mDaItemList.size()) {
            byte titleMark = mDaItemList.get(iposj).getDatakind();
            if(titleMark == NoteBookData.ITEMKIND_CLASS){
                int ipasswd = mDaItemList.get(iposj).getItemPasswd();
                byte curStatus = mDaItemList.get(iposj).getStatus();
                cretblv = true;
                if(ipasswd < 0 || curStatus != NoteBookData.TITLESTATUS_CLOSE) {
                    mDaItemList.get(iposj).switchTitleStatus();
                }
            }
        }
        return cretblv;
    }

    private boolean commonIfFolderButttonOpen(int iposj)
    {
        boolean cretblv = false;
        if(iposj >= 0 && iposj < mDaItemList.size()) {
            byte titleMark = mDaItemList.get(iposj).getDatakind();
            if(titleMark == NoteBookData.ITEMKIND_CLASS){
                byte bOpenStatus = mDaItemList.get(iposj).getStatus();
                if(bOpenStatus == NoteBookData.TITLESTATUS_OPEN) cretblv = true;
            }
        }
        return cretblv;
    }

    @Override
    public int getItemCount() {
        return mDataIndexLst.size();}

    public ArrayList<NoteBookIndex> getIndexList() {
        return mDataIndexLst;
    }
    public ArrayList<NoteBookData> getDaList() {
        return mDaItemList;
    }

    @Override
    public int getItemViewType(int position) {
        if(mDataIndexLst.size() == 0){
            return EMPTY_VIEW;
        } else if(mDataIndexLst.get(position) == null){
            return PROGRESS_VIEW;
        }else if(mDataIndexLst.get(position).getItemType().equals(NoteBookIndex.ITEMTYPE_TITLE)){
            return TITLE_VIEW;
        }else if(mDataIndexLst.get(position).getItemType().equals(NoteBookIndex.ITEMTYPE_LIST)){
            return DATAVIEW_LIST;
        }else if(mDataIndexLst.get(position).getItemType().equals(NoteBookIndex.ITEMTYPE_IMAGE)){
            return DATAVIEW_IMAGE;
        }else if(mDataIndexLst.get(position).getItemType().equals(NoteBookIndex.ITEMTYPE_2IMAGE)){
            return DATAVIEW_2IMAGE;
        }else if(mDataIndexLst.get(position).getItemType().equals(NoteBookIndex.ITEMTYPE_KEYTITLE)){
            return KEYINFO_VIEW;
        }else if(mDataIndexLst.get(position).getItemType().equals(NoteBookIndex.ITEMTYPE_KEYDATA)){
            return KEYINFO_DATA;
        }else {
            return super.getItemViewType(position);
        }
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view;
        if(viewType == PROGRESS_VIEW){
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragmentevent_pgressbar_item, parent, false);
            return new ProgressViewHolder(view);
        } else if(viewType == EMPTY_VIEW){
            return null;
        } else if(viewType == TITLE_VIEW) {
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_notebook_itemtitle, parent, false);
            return new TitleViewHolder(view);
        } else if(viewType == DATAVIEW_LIST) {
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_notebook_itemdata, parent, false);
            return new DataViewHolder(view);
        } else if(viewType == DATAVIEW_IMAGE) {
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_notebook_itemimage, parent, false);
            return new ImageViewHolder(view);
        }else if(viewType == DATAVIEW_2IMAGE) {
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_notebook_item2image, parent, false);
            return new Image2ViewHolder(view);
        }else if(viewType == KEYINFO_VIEW) {
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_notebook_keytitle, parent, false);
            return new TitleKeyViewHolder(view);
        }else if(viewType == KEYINFO_DATA) {
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_notebook_keyimage, parent, false);
            return new ImageKeyViewHolder(view);
        }else {
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragmenteview_slist_item, parent, false);
            return null;
        }
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        if(holder instanceof TitleViewHolder){
            handle_TitleViewHolder(holder,position);
        } else if(holder instanceof DataViewHolder) {
            handle_DataViewHolder(holder, position);
        } else if(holder instanceof ImageViewHolder){
            handle_ImageViewHolder(holder,position);
        } else if(holder instanceof Image2ViewHolder){
            handle_Image2ViewHolder(holder,position);
        } else if(holder instanceof ImageKeyViewHolder){
            handle_ImageKeyViewHolder(holder,position);
        } else if(holder instanceof TitleKeyViewHolder){
            handle_TitleKeyViewHolder(holder,position);
        }else if(holder instanceof ProgressViewHolder){
            ProgressViewHolder viewHolder = (ProgressViewHolder)holder;
            //... viewHolder.progressBar.setIndeterminate(true);
        }
    }

    private void handle_TitleViewHolder(RecyclerView.ViewHolder holder, final int icposition)
    {
        final int position = mDataIndexLst.get(icposition).getItemStartPosj();
        TitleViewHolder viewHolder = (TitleViewHolder) holder;

        viewHolder.LLayout_folderBut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                byte curStatus = mDaItemList.get(position).getStatus();
                if (commonFolderButtonOper(position)) {
                    int ipasswd = mDaItemList.get(position).getItemPasswd();
                    if(curStatus != NoteBookData.TITLESTATUS_CLOSE) ipasswd = -1;
                    selClickLister.onSelClickItem(icposition, position, ipasswd, NoteBookIndex.FOLDERIMGBUT_CLICK, "--", v);
                }
            }
        });
        viewHolder.LLayout_folderBut.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                byte curStatus = mDaItemList.get(position).getStatus();
                if (commonFolderButtonOper(position)) {
                    int ipasswd = mDaItemList.get(position).getItemPasswd();
                    if(curStatus != NoteBookData.TITLESTATUS_CLOSE) ipasswd = -1;
                    selClickLister.onSelClickItem(icposition, position, ipasswd, NoteBookIndex.FOLDERIMGBUT_LONGCLICK, "--", v);
                }
                return false;
            }
        });
        //... LLayout_folderBut
        viewHolder.mLayoutbut_selItem.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                NoteBookData.mfindItem_Passwd = -1;
                NoteBookData.mfindItem_kind = NoteBookIndex.ITEMKIND_FINDEMPTY;
                selClickLister.onSelClickItem(icposition, -1, position, NoteBookIndex.ITEMSELCLICK, "--", v);
            }
        });
        viewHolder.mLayoutbut_selItem.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                NoteBookData.mfindItem_Passwd = -1;
                NoteBookData.mfindItem_kind = NoteBookIndex.ITEMKIND_FINDEMPTY;
                selClickLister.onSelClickItem(icposition, -1, position, NoteBookIndex.ITEMSELLONGCLICK, "--", v);
                return false;
            }
        });
        int iColorv = NoteBookIndex.titleNormalColor;
        if(icposition == NoteBookIndex.curSelprojno) {
            viewHolder.mLayout_Item.setBackground(mContext.getResources().getDrawable(R.drawable.comsellrectframe_line));
            //... iColorv = NoteBookIndex.titleSelColor;
        }else{
            viewHolder.mLayout_Item.setBackground(mContext.getResources().getDrawable(R.drawable.comsellrectframe_empty));
        }
        //... viewHolder.mLayout_Item.setBackgroundColor(iColorv);

        String strName = mDaItemList.get(position).getItemName();
        viewHolder.mTitleName.setText(strName);
        String strNote = mDaItemList.get(position).getItemNote();
        viewHolder.mTitleNote.setText(strNote);
        if(commonIfFolderButttonOpen(position)) {
            viewHolder.mImgFolderBut.setImageResource(R.drawable.comvec_folderopen);
        }else{
            viewHolder.mImgFolderBut.setImageResource(R.drawable.comvec_folderclose);
        }
        viewHolder.mImgflag.setColorFilter(NoteBookData.FOLDERCOLOR_DKYELLOW);
        int ipasswd = mDaItemList.get(position).getItemPasswd();
        if(ipasswd > 0){
            viewHolder.mImgLock.setVisibility(View.VISIBLE);
        }else{
            viewHolder.mImgLock.setVisibility(View.INVISIBLE);
        }

    }

    private void handle_TitleKeyViewHolder(RecyclerView.ViewHolder holder, final int icposition)
    {
        final int keyposj = mDataIndexLst.get(icposition).getItemStartPosj();
        int idaposition = -1;
        if(keyposj >= 0 && keyposj < mDaKeyInfoList.size()){
            idaposition = mDaKeyInfoList.get(keyposj).getKeyInfoItemposj();
        }
        final int position = idaposition;
        // if(idaposition < 0) return;
        TitleKeyViewHolder viewHolder = (TitleKeyViewHolder) holder;

        viewHolder.LLayout_folderBut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (NoteBookKeyInfoData.curFolderStatus != NoteBookKeyInfoData.FOLDERSTATUS_OPEN) {
                    NoteBookKeyInfoData.curFolderStatus = NoteBookKeyInfoData.FOLDERSTATUS_OPEN;
                }else {
                    NoteBookKeyInfoData.curFolderStatus = NoteBookKeyInfoData.FOLDERSTATUS_CLOSE;
                }
                int ipasswd = -1;
                selClickLister.onSelClickItem(icposition, position, ipasswd, NoteBookIndex.FOLDERIMGBUT_CLICK, "--", v);
            }
        });
        viewHolder.LLayout_folderBut.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                byte curStatus = mDaItemList.get(position).getStatus();
                if (NoteBookKeyInfoData.curFolderStatus != NoteBookKeyInfoData.FOLDERSTATUS_OPEN) {
                    NoteBookKeyInfoData.curFolderStatus = NoteBookKeyInfoData.FOLDERSTATUS_OPEN;
                }else {
                    NoteBookKeyInfoData.curFolderStatus = NoteBookKeyInfoData.FOLDERSTATUS_CLOSE;
                }
                int ipasswd = -1;
                selClickLister.onSelClickItem(icposition, position, ipasswd, NoteBookIndex.FOLDERIMGBUT_LONGCLICK, "--", v);
                return false;
            }
        });
        int iColorv = NoteBookIndex.titleNormalColor;
        if(icposition == NoteBookIndex.curSelprojno) {
            viewHolder.mLayout_Item.setBackground(mContext.getResources().getDrawable(R.drawable.comsellrectframe_line));
            iColorv = NoteBookIndex.titleSelColor;
        }else{
            viewHolder.mLayout_Item.setBackground(mContext.getResources().getDrawable(R.drawable.comsellrectframe_empty));
        }
        if(NoteBookKeyInfoData.curFolderStatus == NoteBookKeyInfoData.FOLDERSTATUS_OPEN) {
            viewHolder.mImgFolderBut.setImageResource(R.drawable.comvec_folderopen);
        }else{
            viewHolder.mImgFolderBut.setImageResource(R.drawable.comvec_folderclose);
        }
        viewHolder.mImgflag.setColorFilter(NoteBookData.FOLDERCOLOR_DKYELLOW);
        viewHolder.mLayout_Item.setBackgroundColor(iColorv);
        viewHolder.mImgLock.setVisibility(View.INVISIBLE);
        viewHolder.mTitleName.setTextColor(Color.RED);
        viewHolder.mTitleName.setText(NoteBookData.mkeyInfo_Title);

    }

    private void handle_DataViewHolder(RecyclerView.ViewHolder holder, final int icposition)
    {
        final int position = mDataIndexLst.get(icposition).getItemStartPosj();
        DataViewHolder viewHolder = (DataViewHolder) holder;
        viewHolder.mLayout_txtItem.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMSELCLICK, "--", v);
            }
        });
        viewHolder.mLayout_txtItem.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMSELLONGCLICK, "--", v);
                return false;
            }
        });
        int iColorv = NoteBookIndex.dataNormalColor;
        if(icposition == NoteBookIndex.curSelprojno) {
            viewHolder.mLayout_Item.setBackground(mContext.getResources().getDrawable(R.drawable.comsellrectframe_line));
            iColorv = NoteBookIndex.dataSelColor;
        }else{
            viewHolder.mLayout_Item.setBackground(mContext.getResources().getDrawable(R.drawable.comsellrectframe_empty));
        }
        String strName = mDaItemList.get(position).getItemName();
        String strNote = mDaItemList.get(position).getItemNote();
        byte bdelmark = mDaItemList.get(position).getItemDelMark();
        int ipasswd = mDaItemList.get(position).getItemPasswd();
        byte findmark = mDataIndexLst.get(icposition).getFindItemMark();
        int ifpasswd = -1;
        if(findmark == NoteBookIndex.ITEMKIND_FIND){
            ifpasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
            if(ifpasswd > 0 && ipasswd <= 0) ipasswd = ifpasswd;
        }
        if(bdelmark == NoteBookData.ITEMDELETE_YES){
            viewHolder.mImgLock.setVisibility(View.VISIBLE);
            viewHolder.mImgLock.setImageResource(R.drawable.comvec_delete);
        }else {
            if (ipasswd > 0) {
                viewHolder.mImgLock.setVisibility(View.VISIBLE);
                viewHolder.mImgLock.setImageResource(R.drawable.comvec_lock);
            } else {
                viewHolder.mImgLock.setVisibility(View.INVISIBLE);
            }
        }
        if (ipasswd > 0) {
            strNote = "****";
            strName = "****";
        }
        viewHolder.mNote.setText(strNote);
        viewHolder.mName.setText(strName);
        //...viewHolder.mKeycode.setText(strKeycode);
        viewHolder.mImgflag.setVisibility(View.INVISIBLE);
    }

    private void handle_ImageViewHolder(RecyclerView.ViewHolder holder, final int icposition)
    {
        final int position = mDataIndexLst.get(icposition).getItemStartPosj();

        ImageViewHolder viewHolder = (ImageViewHolder) holder;
        viewHolder.mimg1_LLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMIMAGESELCLICK, "--", v);
            }
        });
        viewHolder.mimg1_LLayout.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMIMAGESELLONGCLICK, "--", v);
                return false;
            }
        });

        viewHolder.mitem1_LLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMSELCLICK, "--", v);
            }
        });
        viewHolder.mitem1_LLayout.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMSELLONGCLICK, "--", v);
                return false;
            }
        });

        int iColorv = NoteBookIndex.dataNormalColor;
        viewHolder.item1Image.setSelectMark(false);
        if(icposition == NoteBookIndex.curSelprojno) {
            viewHolder.item1Image.setSelectMark(true);
            //... iColorv = NoteBookIndex.dataSelColor;
        }
        String strName = mDaItemList.get(position).getItemName();
        String strNote = mDaItemList.get(position).getItemNote();
        String strDateTime = mDaItemList.get(position).getItemDateTime();
        int ipasswd = mDaItemList.get(position).getItemPasswd();
        byte findmark = mDataIndexLst.get(icposition).getFindItemMark();
        int ifpasswd = -1;
        if(findmark == NoteBookIndex.ITEMKIND_FIND){
            ifpasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
            if(ifpasswd > 0 && ipasswd <= 0) ipasswd = ifpasswd;
        }
        byte bdelmark = mDaItemList.get(position).getItemDelMark();
        if(bdelmark == NoteBookData.ITEMDELETE_YES){
            viewHolder.item1Image.setItemDeleteMark(true);
            if (ipasswd > 0) {
                strName = "******";
                strNote = "******";
            }
        }else {
            if (ipasswd > 0) {
                strName = "******";
                strNote = "******";
                viewHolder.item1Image.setItemLockMark(true);
            } else {
                viewHolder.item1Image.setItemLockMark(false);
            }
        }
        byte selfpic = mDaItemList.get(position).getSelfpic();
        if(selfpic != NoteBookData.ITEMPIC_YES){
            String fileUrl = "file:///android_asset/"+NoteBookData.mItemAssetPicName;// "notePictureEmpty.png";
            int iassetjno = mDaItemList.get(position).getItemAssetJno();
            if(iassetjno > 99) iassetjno = 99;
            if(iassetjno > 0){
                fileUrl = "file:///android_asset/"+"eventtitlepic"+String.valueOf(iassetjno)+".png";
            }
            Glide.with(mContext).load(fileUrl)
                    .into(viewHolder.item1Image);
        }else{
            Glide.with(mContext).load(mDaItemList.get(position).getItemPicFullpathName())
                    .override(dpToPx(NoteBookData.PICITEMSIZE), dpToPx(NoteBookData.PICITEMSIZE)).centerCrop()
                    .skipMemoryCache(true)//跳过内存缓存
                    .diskCacheStrategy(DiskCacheStrategy.NONE)//不要在disk硬盘缓存
                    .into(viewHolder.item1Image);
        }

        viewHolder.mCol1_NOTE.setText(strNote);
        viewHolder.mCol1_NAME.setText(strName);
        viewHolder.mCol1_TIME.setText(strDateTime);
    }

    private void handle_ImageKeyViewHolder(RecyclerView.ViewHolder holder, final int icposition)
    {
        final int keyposj = mDataIndexLst.get(icposition).getItemStartPosj();
        int idaposition = -1;
        String strKeyInfo = "-----";
        if(keyposj >= 0 && keyposj < mDaKeyInfoList.size()){
            strKeyInfo = mDaKeyInfoList.get(keyposj).getKeyInfoNote();
            idaposition = mDaKeyInfoList.get(keyposj).getKeyInfoItemposj();
        }
        final int position = idaposition;
        if(idaposition < 0) return;
        ImageKeyViewHolder viewHolder = (ImageKeyViewHolder) holder;
        viewHolder.mimg1_LLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                String strType = mDataIndexLst.get(icposition).getItemType();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMIMAGESELCLICK, strType, v);
            }
        });
        viewHolder.mimg1_LLayout.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                String strType = mDataIndexLst.get(icposition).getItemType();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMIMAGESELLONGCLICK, strType, v);
                return false;
            }
        });

        viewHolder.mitem1_LLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                String strType = mDataIndexLst.get(icposition).getItemType();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMSELCLICK, strType, v);
            }
        });
        viewHolder.mitem1_LLayout.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                int ifindPasswd = mDataIndexLst.get(icposition).getFindItemPasswd();
                NoteBookData.mfindItem_Passwd = ifindPasswd;
                NoteBookData.mfindItem_kind = mDataIndexLst.get(icposition).getFindItemMark();
                String strType = mDataIndexLst.get(icposition).getItemType();
                selClickLister.onSelClickItem(icposition, ifindPasswd, position, NoteBookIndex.ITEMSELLONGCLICK, strType, v);
                return false;
            }
        });

        int iColorv = NoteBookIndex.dataNormalColor;
        viewHolder.item1Image.setSelectMark(false);
        if(icposition == NoteBookIndex.curSelprojno) {
            viewHolder.item1Image.setSelectMark(true);
            //... iColorv = NoteBookIndex.dataSelColor;
        }
        String strName = mDaItemList.get(position).getItemName();
        String strNote = mDaItemList.get(position).getItemNote();
        //... String strDateTime = mDaItemList.get(position).getItemDateTime();
        byte selfpic = mDaItemList.get(position).getSelfpic();
        if(selfpic != NoteBookData.ITEMPIC_YES){
            String fileUrl = "file:///android_asset/"+NoteBookData.mItemAssetPicName;// "notePictureEmpty.png";
            int iassetjno = mDaItemList.get(position).getItemAssetJno();
            if(iassetjno > 99) iassetjno = 99;
            if(iassetjno > 0){
                fileUrl = "file:///android_asset/"+"eventtitlepic"+String.valueOf(iassetjno)+".png";
            }
            Glide.with(mContext).load(fileUrl)
                    .into(viewHolder.item1Image);
        }else{
            Glide.with(mContext).load(mDaItemList.get(position).getItemPicFullpathName())
                    .override(dpToPx(NoteBookData.PICITEMSIZE), dpToPx(NoteBookData.PICITEMSIZE)).centerCrop()
                    .skipMemoryCache(true)//跳过内存缓存
                    .diskCacheStrategy(DiskCacheStrategy.NONE)//不要在disk硬盘缓存
                    .into(viewHolder.item1Image);
        }

        viewHolder.mCol1_NOTE.setText(strNote);
        viewHolder.mCol1_NAME.setText(strName);
        viewHolder.mCol1_KEYINFO.setText(strKeyInfo);
    }

    private void handle_Image2ViewHolder(RecyclerView.ViewHolder holder, final int icposition)
    {
        final int position = mDataIndexLst.get(icposition).getItemStartPosj();
        final int itemNum = mDataIndexLst.get(icposition).getItemNum();
        final int position2 = position+1;

        Image2ViewHolder viewHolder = (Image2ViewHolder) holder;
        viewHolder.mimg1_LLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                selClickLister.onSelClickItem(icposition, 0, position, NoteBookIndex.ITEMIMAGESELCLICK, "--", v);
            }
        });
        viewHolder.mimg1_LLayout.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                selClickLister.onSelClickItem(icposition, 0, position, NoteBookIndex.ITEMIMAGESELLONGCLICK, "--", v);
                return false;
            }
        });

        viewHolder.mitem1_LLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                selClickLister.onSelClickItem(icposition, 0, position, NoteBookIndex.ITEMSELCLICK, "--", v);
            }
        });
        viewHolder.mitem1_LLayout.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                selClickLister.onSelClickItem(icposition, 0, position, NoteBookIndex.ITEMSELLONGCLICK, "--", v);
                return false;
            }
        });

        int iColorv = NoteBookIndex.dataNormalColor;
        if(icposition == NoteBookIndex.curSelprojno) {
            iColorv = NoteBookIndex.dataSelColor;
        }
        if(position == NoteBookData.iselectposj) {
            viewHolder.item1Image.setSelectMark(true);
        }else{
            viewHolder.item1Image.setSelectMark(false);
        }
        String strName = mDaItemList.get(position).getItemName();
        String strNote = mDaItemList.get(position).getItemNote();
        //... viewHolder.cardView.setBackgroundColor(iColorv);
        int ipasswd = mDaItemList.get(position).getItemPasswd();
        byte bdelmark = mDaItemList.get(position).getItemDelMark();
        if(bdelmark == NoteBookData.ITEMDELETE_YES){
            viewHolder.item1Image.setItemDeleteMark(true);
            if(ipasswd > 0) {
                strName = "*******";
                strNote = "*******";
            }
        }else {
            if (ipasswd > 0) {
                strName = "*******";
                strNote = "*******";
                viewHolder.item1Image.setItemLockMark(true);
            } else {
                viewHolder.item1Image.setItemLockMark(false);
            }
        }
        byte selfpic = mDaItemList.get(position).getSelfpic();
        if(selfpic != NoteBookData.ITEMPIC_YES){
            String fileUrl = "file:///android_asset/"+NoteBookData.mItemAssetPicName;//"notePictureEmpty.png";
            int iassetjno = mDaItemList.get(position).getItemAssetJno();
            if(iassetjno > 99) iassetjno = 99;
            if(iassetjno > 0){
                fileUrl = "file:///android_asset/"+"eventtitlepic"+String.valueOf(iassetjno)+".png";
            }
            Glide.with(mContext).load(fileUrl)
                    .into(viewHolder.item1Image);
        }else{
            Glide.with(mContext).load(mDaItemList.get(position).getItemPicFullpathName())
                    .override(dpToPx(NoteBookData.PICITEMSIZE), dpToPx(NoteBookData.PICITEMSIZE)).centerCrop()
                    .skipMemoryCache(true)//跳过内存缓存
                    .diskCacheStrategy(DiskCacheStrategy.NONE)//不要在disk硬盘缓存
                    .into(viewHolder.item1Image);
        }

        String strDateTime = mDaItemList.get(position).getItemDateTime();

        viewHolder.mCol1_NOTE.setText(strNote);
        viewHolder.mCol1_NAME.setText(strName);
        viewHolder.mCol1_TIME.setText(strDateTime);

        viewHolder.mimg2_LLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(itemNum > 1) {
                    selClickLister.onSelClickItem(icposition, 0, position2, NoteBookIndex.ITEMIMAGESELCLICK, "--", v);
                }
            }
        });
        viewHolder.mimg2_LLayout.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                if(itemNum > 1) {
                    selClickLister.onSelClickItem(icposition, 0, position2, NoteBookIndex.ITEMIMAGESELLONGCLICK, "--", v);
                }
                return false;
            }
        });

        viewHolder.mitem2_LLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(itemNum > 1) {
                    selClickLister.onSelClickItem(icposition, 0, position2, NoteBookIndex.ITEMSELCLICK, "--", v);
                }
            }
        });
        viewHolder.mitem2_LLayout.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                if(itemNum > 1) {
                    selClickLister.onSelClickItem(icposition, 0, position2, NoteBookIndex.ITEMSELLONGCLICK, "--", v);
                }
                return false;
            }
        });
        if(itemNum > 1) {
            if(position2 == NoteBookData.iselectposj) {
                viewHolder.item2Image.setSelectMark(true);
            }else{
                viewHolder.item2Image.setSelectMark(false);
            }
            strName = mDaItemList.get(position2).getItemName();
            strNote = mDaItemList.get(position2).getItemNote();
            ipasswd = mDaItemList.get(position2).getItemPasswd();
            bdelmark = mDaItemList.get(position2).getItemDelMark();
            if(bdelmark == NoteBookData.ITEMDELETE_YES){
                viewHolder.item2Image.setItemDeleteMark(true);
                if (ipasswd > 0) {
                    strName = "*******";
                    strNote = "*******";
                }
            }else {
                if (ipasswd > 0) {
                    strName = "*******";
                    strNote = "*******";
                    viewHolder.item2Image.setItemLockMark(true);
                } else {
                    viewHolder.item2Image.setItemLockMark(false);
                }
            }
            selfpic = mDaItemList.get(position2).getSelfpic();
            if(selfpic != NoteBookData.ITEMPIC_YES){
                int iassetjno = mDaItemList.get(position2).getItemAssetJno();
                String fileUrl = "file:///android_asset/"+NoteBookData.mItemAssetPicName;//"notePictureEmpty.png";
                if(iassetjno > 99) iassetjno = 99;
                if(iassetjno > 0){
                    fileUrl = "file:///android_asset/"+"eventtitlepic"+String.valueOf(iassetjno)+".png";
                }
                Glide.with(mContext).load(fileUrl)
                        .into(viewHolder.item2Image);
            }else{
                Glide.with(mContext).load(mDaItemList.get(position2).getItemPicFullpathName())
                        .override(dpToPx(NoteBookData.PICITEMSIZE), dpToPx(NoteBookData.PICITEMSIZE)).centerCrop()
                        .skipMemoryCache(true)//跳过内存缓存
                        .diskCacheStrategy(DiskCacheStrategy.NONE)//不要在disk硬盘缓存
                        .into(viewHolder.item2Image);
            }
            strDateTime = mDaItemList.get(position2).getItemDateTime();
            viewHolder.mCol2_NOTE.setText(strNote);
            viewHolder.mCol2_NAME.setText(strName);
            viewHolder.mCol2_TIME.setText(strDateTime);
        }else{
            viewHolder.item2Image.setSelectMark(false);
            viewHolder.item2Image.setItemLockMark(false);
            String fileUrl = "file:///android_asset/"+"notePictureXXX.png";
            Glide.with(mContext).load(fileUrl)
                    .into(viewHolder.item2Image);
            viewHolder.mCol2_NOTE.setText("");
            viewHolder.mCol2_NAME.setText("");
            viewHolder.mCol2_TIME.setText("");
        }
    }

    class TitleViewHolder extends RecyclerView.ViewHolder{
        LinearLayout mLayoutbut_selItem;
        LinearLayout mLayout_Item;
        LinearLayout LLayout_folderBut;
        ImageView mImgFolderBut;
        ImageView mImgflag;
        ImageView mImgLock;
        TextView mTitleName;
        TextView mTitleNote;

        public TitleViewHolder(View itemView) {
            super(itemView);
            mLayout_Item = (LinearLayout) itemView.findViewById(R.id.Layout_titleItem);
            mLayoutbut_selItem = (LinearLayout) itemView.findViewById(R.id.LayoutSel_Title);
            LLayout_folderBut = (LinearLayout) itemView.findViewById(R.id.Layoutbut_Folder);
            mImgFolderBut = (ImageView) itemView.findViewById(R.id.title_folderbut);
            mImgflag = (ImageView) itemView.findViewById(R.id.title_icon);
            mImgLock = (ImageView) itemView.findViewById(R.id.title_lock);
            mTitleName = (TextView) itemView.findViewById(R.id.title_name);
            mTitleNote = (TextView) itemView.findViewById(R.id.title_note);
        }
    }

    class TitleKeyViewHolder extends RecyclerView.ViewHolder{
        LinearLayout mLayoutbut_selItem;
        LinearLayout mLayout_Item;
        LinearLayout LLayout_folderBut;
        ImageView mImgFolderBut;
        ImageView mImgflag;
        ImageView mImgLock;
        TextView mTitleName;
        TextView mTitleNote;

        public TitleKeyViewHolder(View itemView) {
            super(itemView);
            mLayout_Item = (LinearLayout) itemView.findViewById(R.id.Layout_titleItem);
            mLayoutbut_selItem = (LinearLayout) itemView.findViewById(R.id.LayoutSel_Title);
            LLayout_folderBut = (LinearLayout) itemView.findViewById(R.id.Layoutbut_Folder);
            mImgFolderBut = (ImageView) itemView.findViewById(R.id.title_folderbut);
            mImgflag = (ImageView) itemView.findViewById(R.id.title_icon);
            mImgLock = (ImageView) itemView.findViewById(R.id.title_lock);
            mTitleName = (TextView) itemView.findViewById(R.id.title_name);
            mTitleNote = (TextView) itemView.findViewById(R.id.title_note);
        }
    }

    class DataViewHolder extends RecyclerView.ViewHolder{
        LinearLayout mLayout_Item;
        LinearLayout mLayout_txtItem;
        ImageView mImgflag;
        TextView mName;
        TextView mNote;
        ImageView mImgLock;
        public DataViewHolder(View itemView) {
            super(itemView);
            mLayout_Item = (LinearLayout) itemView.findViewById(R.id.Layout_dataItem);
            mLayout_txtItem = (LinearLayout) itemView.findViewById(R.id.Layoutbut_txtItem);
            mImgflag = (ImageView) itemView.findViewById(R.id.data_kdicon);
            mName = (TextView) itemView.findViewById(R.id.data_name);
            mNote = (TextView) itemView.findViewById(R.id.item_note);
            mImgLock = (ImageView) itemView.findViewById(R.id.data_lock);
        }
    }

    class ImageViewHolder extends RecyclerView.ViewHolder{
        LinearLayout mimg1_LLayout;
        LinearLayout mitem1_LLayout;

        NoteBookViewImage item1Image;
        TextView mCol1_Click;
        TextView mCol1_NAME;
        TextView mCol1_NOTE;
        TextView mCol1_TIME;

        private CardView cardView;

        public ImageViewHolder(View itemView) {
            super(itemView);
            cardView = (CardView) itemView.findViewById(R.id.cardctrl);

            mimg1_LLayout = (LinearLayout)itemView.findViewById(R.id.butImg1_Layout);
            mitem1_LLayout = (LinearLayout)itemView.findViewById(R.id.item1_Layout);
            item1Image = (NoteBookViewImage) itemView.findViewById(R.id.item1_imgsrc);
            mCol1_Click = (TextView) itemView.findViewById(R.id.click1_Prompt);
            mCol1_NAME = (TextView) itemView.findViewById(R.id.colum1_NAME);
            mCol1_NOTE = (TextView) itemView.findViewById(R.id.colum1_NOTE);
            //... lock1Image = (ImageView) itemView.findViewById(R.id.data1_lock);
            mCol1_TIME = (TextView) itemView.findViewById(R.id.colum1_Time);
        }
    }

    class ImageKeyViewHolder extends RecyclerView.ViewHolder{
        LinearLayout mimg1_LLayout;
        LinearLayout mitem1_LLayout;

        NoteBookViewImage item1Image;
        TextView mCol1_Click;
        TextView mCol1_NAME;
        TextView mCol1_NOTE;
        TextView mCol1_KEYINFO;
 
        private CardView cardView;

        public ImageKeyViewHolder(View itemView) {
            super(itemView);
            cardView = (CardView) itemView.findViewById(R.id.cardctrl);

            mimg1_LLayout = (LinearLayout)itemView.findViewById(R.id.butImg1_Layout);
            mitem1_LLayout = (LinearLayout)itemView.findViewById(R.id.item1_Layout);
            item1Image = (NoteBookViewImage) itemView.findViewById(R.id.item1_imgsrc);
            mCol1_Click = (TextView) itemView.findViewById(R.id.click1_Prompt);
            mCol1_NAME = (TextView) itemView.findViewById(R.id.colum1_NAME);
            mCol1_NOTE = (TextView) itemView.findViewById(R.id.colum1_NOTE);
             mCol1_KEYINFO = (TextView) itemView.findViewById(R.id.colum1_KEYINFO);
        }
    }

    class Image2ViewHolder extends RecyclerView.ViewHolder{
        LinearLayout mimg1_LLayout;
        LinearLayout mitem1_LLayout;

        NoteBookViewImage item1Image;
        TextView mCol1_Click;
        TextView mCol1_NAME;
        TextView mCol1_NOTE;
        TextView mCol1_TIME;
        //... ImageView lock1Image;

        LinearLayout mimg2_LLayout;
        LinearLayout mitem2_LLayout;
        NoteBookViewImage item2Image;
        TextView mCol2_Click;
        TextView mCol2_NAME;
        TextView mCol2_NOTE;
        TextView mCol2_TIME;
        //... ImageView lock2Image;

        private CardView cardView;

        public Image2ViewHolder(View itemView) {
            super(itemView);
            cardView = (CardView) itemView.findViewById(R.id.cardctrl);

            mimg1_LLayout = (LinearLayout)itemView.findViewById(R.id.butImg1_Layout);
            mitem1_LLayout = (LinearLayout)itemView.findViewById(R.id.item1_Layout);
            item1Image = (NoteBookViewImage) itemView.findViewById(R.id.item1_imgsrc);
            mCol1_Click = (TextView) itemView.findViewById(R.id.click1_Prompt);
            mCol1_NAME = (TextView) itemView.findViewById(R.id.colum1_NAME);
            mCol1_NOTE = (TextView) itemView.findViewById(R.id.colum1_NOTE);
             mCol1_TIME = (TextView) itemView.findViewById(R.id.colum1_Time);

            mimg2_LLayout = (LinearLayout)itemView.findViewById(R.id.butImg2_Layout);
            mitem2_LLayout = (LinearLayout)itemView.findViewById(R.id.item2_Layout);
            item2Image = (NoteBookViewImage) itemView.findViewById(R.id.item2_imgsrc);
            mCol2_Click = (TextView) itemView.findViewById(R.id.click1_Prompt);
            mCol2_NAME = (TextView) itemView.findViewById(R.id.colum2_NAME);
            mCol2_NOTE = (TextView) itemView.findViewById(R.id.colum2_NOTE);
            mCol2_TIME = (TextView) itemView.findViewById(R.id.colum2_Time);
        }
    }
    public int dpToPx(float dp){
        float px = mContext.getResources().getDisplayMetrics().density;
        return (int)(dp * px + 0.5f);
    }
    class ProgressViewHolder extends RecyclerView.ViewHolder {
        //... ProgressBar progressBar;
        //... TextView textView;

        public ProgressViewHolder(View itemView) {
            super(itemView);
            //... progressBar = (ProgressBar) itemView.findViewById(R.id.progressBar);
            //... textView = (TextView) itemView.findViewById(R.id.textView);
        }
    }

    public interface OnAddRemoveListener{
        void onAddRemoved(int iszie, String opinfo,String dataName);
    }

    public interface OnSelClickListener{
        void onSelClickItem(int iposj, int ixp, int iyp, int butcd, String itemStr, View v);
    }
}

B), 相对应Layout

fragment_notebook_item2image.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/Layout_dataItem"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingTop="@dimen/fragNoteBookItemSize_padding"
    android:paddingBottom="@dimen/fragNoteBookItemSize_padding"
    android:weightSum="100"
    android:background="@color/fragNoteBookItemColor_cardbkg"
    >
    <LinearLayout
        android:gravity="center"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="match_parent"
        android:background="@color/fragNoteBookItemColor_cardbkg"
        android:orientation="horizontal"
        >
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/fragNoteBookColor_dataBkg"
            />
    </LinearLayout>
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="10"
        />
    <LinearLayout
        android:gravity="center"
        android:id="@+id/Layoutbut_dataItem"
        android:layout_width="0dp"
        android:layout_weight="10"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        <ImageView
            android:id="@+id/data_kdicon"
            android:layout_width="match_parent"
            android:layout_height="20dp"
            android:layout_gravity="center"
            android:layout_marginLeft="1dp"
            android:layout_marginRight="1dp"
            android:src="@drawable/comvec_vadatasum"
            />
    </LinearLayout>
    <LinearLayout
        android:gravity="center"
        android:id="@+id/Layoutbut_txtItem"
        android:layout_width="0dp"
        android:layout_weight="78"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="78">
        <TextView
            android:id="@+id/data_name"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="34"
            android:gravity="center"
            android:textColor="@color/fragNoteBookItemColor_name"
            android:text=""
            android:textSize="@dimen/fragNoteBookItemFntsize_name"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="2"
            />
        <TextView
            android:id="@+id/item_note"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="30"
            android:gravity="center"
            android:textColor="@color/fragNoteBookItemColor_note"
            android:text=""
            android:textSize="@dimen/fragNoteBookItemFntsize_note"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="1"
            />
        <ImageView
            android:id="@+id/data_lock"
            android:layout_width="0dp"
            android:layout_height="20dp"
            android:layout_weight="10"
            android:layout_gravity="center"
            android:layout_marginLeft="1dp"
            android:layout_marginRight="1dp"
            android:src="@drawable/comvec_lock"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="1"
            />
    </LinearLayout>
</LinearLayout>

fragment_notebook_itemdata.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/Layout_dataItem"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingTop="@dimen/fragNoteBookItemSize_padding"
    android:paddingBottom="@dimen/fragNoteBookItemSize_padding"
    android:weightSum="100"
    android:background="@color/fragNoteBookItemColor_cardbkg"
    >
    <LinearLayout
        android:gravity="center"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="match_parent"
        android:background="@color/fragNoteBookItemColor_cardbkg"
        android:orientation="horizontal"
        >
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/fragNoteBookColor_dataBkg"
            />
    </LinearLayout>
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="10"
        />
    <LinearLayout
        android:gravity="center"
        android:id="@+id/Layoutbut_dataItem"
        android:layout_width="0dp"
        android:layout_weight="10"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        <ImageView
            android:id="@+id/data_kdicon"
            android:layout_width="match_parent"
            android:layout_height="20dp"
            android:layout_gravity="center"
            android:layout_marginLeft="1dp"
            android:layout_marginRight="1dp"
            android:src="@drawable/comvec_vadatasum"
            />
    </LinearLayout>
    <LinearLayout
        android:gravity="center"
        android:id="@+id/Layoutbut_txtItem"
        android:layout_width="0dp"
        android:layout_weight="78"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="78">
        <TextView
            android:id="@+id/data_name"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="34"
            android:gravity="center"
            android:textColor="@color/fragNoteBookItemColor_name"
            android:text=""
            android:textSize="@dimen/fragNoteBookItemFntsize_name"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="2"
            />
        <TextView
            android:id="@+id/item_note"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="30"
            android:gravity="center"
            android:textColor="@color/fragNoteBookItemColor_note"
            android:text=""
            android:textSize="@dimen/fragNoteBookItemFntsize_note"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="1"
            />
        <ImageView
            android:id="@+id/data_lock"
            android:layout_width="0dp"
            android:layout_height="20dp"
            android:layout_weight="10"
            android:layout_gravity="center"
            android:layout_marginLeft="1dp"
            android:layout_marginRight="1dp"
            android:src="@drawable/comvec_lock"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="1"
            />
    </LinearLayout>
</LinearLayout>

fragment_notebook_itemimage.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:foreground="?android:attr/selectableItemBackground"
    android:id="@+id/cardctrl"
    style="@style/card_item"
    app:cardBackgroundColor="@color/fragNoteBookItemColor_cardbkg">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="100"
        android:orientation="horizontal">
        <LinearLayout
            android:id="@+id/butImg1_Layout"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="33"
            android:orientation="vertical"
            >
            <com.bi3eview.newstart60.local.notebook.NoteBookViewImage
                 android:layout_width="@dimen/fragNoteBookItemPicsize_dpwh"
                 android:layout_height="@dimen/fragNoteBookItemPicsize_dpwh"
                 android:layout_centerVertical="true"
                 android:layout_margin="3dp"
                 android:id="@+id/item1_imgsrc"
                />
            <TextView
                 android:id="@+id/click1_Prompt"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:gravity="center"
                 android:textColor="@color/fragNoteBookItemColor_clickTxt"
                 android:text=""
                 android:textSize="@dimen/fragNoteBookItemFntsize_click"
                 />
        </LinearLayout>
        <LinearLayout
             android:id="@+id/item1_Layout"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:gravity="center"
             android:layout_weight="67"
             android:orientation="vertical"
             >
            <TextView
                 android:id="@+id/colum1_NAME"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:gravity="center"
                 android:textColor="@color/fragNoteBookItemColor_name"
                 android:text=""
                 android:textSize="@dimen/fragNoteBookItemFntsize_name"
                 />
            <TextView
                 android:id="@+id/colum1_NOTE"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:gravity="center"
                 android:textColor="@color/fragNoteBookItemColor_note"
                 android:text=""
                 android:textSize="@dimen/fragNoteBookItemFntsize_note"
                 />
                <TextView
                    android:id="@+id/colum1_Time"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:textColor="@color/fragNoteBookItemColor_time"
                    android:text=""
                    android:textSize="@dimen/fragNoteBookItemFntsize_time"
                    />
        </LinearLayout>
     </LinearLayout>
</android.support.v7.widget.CardView>

4),  NoteBook Fragment
           A), 代码

package com.bi3eview.newstart60.local.notebook;

import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
import android.support.v4.content.ContextCompat;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

import com.bi3eview.newstart60.local.COMCONST;
import com.bi3eview.newstart60.local.JavaLoadCppLib.ActEventDataClass;
import com.bi3eview.newstart60.local.SelfWidget.OnSelectItemListener;
import com.bi3eview.newstart60.local.SelfWidget.PopupWindowCustom;
import com.bi3eview.newstart60.local.SelfWidget.PopupWindowDlg;
import com.bi3eview.newstart60.local.SelfWidget.popwComDlg;
import com.bi3eview.newstart60.local.comModel.popwModelDlg;
import com.bi3eview.newstart60.local.Activity.PictureHandleActivity;
import com.bi3eview.newstart60.local.Activity.CameraPhotoSelActivity;
import com.bi3eview.newstart60.local.R;
import com.bi3eview.newstart60.local.SelfWidget.threeRadioImageView;
import com.bi3eview.newstart60.local.SelfWidget.popwComData;
import com.bi3eview.newstart60.local.fragmentEvent.task.OnItemClickListener;
import com.bi3eview.newstart60.local.fragmentSimple.ICallBack;
import com.bidaeview.hbs60.lib_toprightmenu.bs60PopMenu;
import com.bidaeview.hbs60.lib_toprightmenu.myMenuItem;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import static android.app.Activity.RESULT_OK;

/**
 * Created by bs60 on 2022.01.31
 */
public class FragmentNoteBook extends Fragment  implements OnItemClickListener {
    Context mContext = null;
    private View view;
    Bundle bundle = null;
    RecyclerView recyclerView;
    SwipeRefreshLayout swipeRefreshLayout;
    ProgressBar progressBar;

    NoteBookAdapter mListAdapter;

    EditText m_findCtxt;
    private TextWatcher m_WatcherFindCtxt;

    boolean mForbidOperblv = false;
    boolean mBackSaveOperblv = false;
    boolean mitemNewblv = false;
    int mClickIndexPosj = -1;
    int mClickItemPosj = -1;
    String mselItem_DATAKIND = "";
    int mtitle_Passwd;
    int mwait_OnTimeLoopNum = 0;
    int mcurAssetJno = -1;
    int mfindItem_Passwd = -1;
    int mrecordItemIDno = 1;
    int mwinTxtInfoColor = Color.WHITE;
    int mpopw_butCtrl = 0;
    int mikeyInfoCode = 0;
    //... private ImageView mimgCircleBtn;
    private bs60PopMenu mPopMenu;
    TextView mtxt_winInfo;
    TextView mcol1_nameTitle;
    TextView mcol2_noteTitle;
    private LinearLayout mLayout_buildModel;
    private LinearLayout mLayout_butMENU;
    private LinearLayout mLayout_butFIND;
    private LinearLayout mLayout_Radio;
    TextView mfind_radioTitle;
    private threeRadioImageView mfind_RadioImg;
    //... int mcur_Radiojno;

    private boolean showIcon = true;
    private boolean dimBg = true;
    private boolean needAnim = true;
    byte mselItem_DelMarkb = ' ';

    final int COMMODEL_DLOADLSTSAVEFILE = 1;
    final int COMMODEL_CYBERITEMLST = 2;
    final int COMMODEL_TMPASSETCOPY = 3;
    final int COMMODEL_BUILDITEMLST = 4;
    final int COMMODEL_GETITEMDATA  = 5;
    final int COMMODEL_CLOSEITEMLST  = 6;
    final int COMMODEL_DLOADEXAMPLESAVEFILE = 7;
    final int COMMODEL_GETLSTITEMNUM = 8;
    final int COMMODEL_PARSEDATAITEM = 9;
        final int COMMODELKIND_NOTEBOOK = 100;
    
    boolean mwebOperblv = false;
    private static final int REQUESTCODE_PICTURE = 100;
    private final int PERMISSION_REQUEST_CODE = 0x001;
    private static final String[] permissionManifest = {
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.INTERNET,
    };
    private Thread downLoadThread;
    String comModelDownloadUrl = "";
    String dloadModelWebSavePathfile = "";
    // callback
    ICallBack callback;
    
    final int NOTEBOOK_GETLSTNUM = 1000;
    final int NOTEBOOK_DATAITEM = 1001;
    final int NOTEBOOK_BAKFILE = 1002;
    final int NOTEBOOK_APPENDITEM = 1003;
    final int NOTEBOOK_APPENDEND = 1004;
    final int NOTEBOOK_GETDATETIME = 1005;
    final int NOTEBOOK_UPDATEHEADCOLNAME = 1006;
    final int NOTEBOOK_UPDATEITEMPHOTO = 1007;
    final int NOTEBOOK_BUILDMODEL = 1008;
    final int NOTEBOOK_PARSEMODEL = 1009;
    final int NOTEBOOK_KEYINFOGETITEM = 2001;
    final int NOTEBOOK_KEYINFOUPDATE = 2002;
    final int KEYINFOCODE_SAVE = 999999;
    // Handler
    final int NOTEBOOK_GOHOME = 1000;
    private final int RESETREFRESH_VIEW = 1100;
    private final int TITLEFOLDERBUTTON = 1200;
    private final int ITEMSELECTCHANGE = 1300;
    private final int ITEMLONGSELECTCHANGE = 1306;
    private final int ITEMIMAGELONGSELCHANGE = 1307;
    private final int CLICKITEM_ADDCIRBUTTON = 1400;
    private final int TITLEITEMEDITPOPW = 1500;
    private final int HANDLEUPDATE_SAVEDATA = 1600;
    private final int APPENDUPDATE_NOTEBOOKITEM = 1700;
    private final int NOTEBOOKITEM_UPDATE = 1701;
    private final int NOTEBOOKITEM_DELETE = 1702;
    private final int TITLEPASSWDCHECKPOPWIN = 1800;
    private final int HANDLEDELETE_CANCEL = 1900;
    private final int POPWIN_VIEWLISTSET = 1901;
    private final int LISTSETREFRESH = 1902;
    private final int SELECTSETITEMPICTURE = 1903;
    private final int UPDATESETITEMPICTURE = 1906;
    private final int RADIOFINDUPDATESET = 2000;
    private final int HANDLEFINDITEM = 2001;
    private final int BUILDMODELPOPWIN = 2002;
    private final int BUILDMODELPROCESS = 2003;
    private final int HANDLE_SELECTMODEL = 3000;
    private final int NETOPER_PERMISSION = 3001;
    private final int WEBMODELDALST_DLOADCHK = 3002;
    private final int DOWNLOADMODELLST_SUCESS = 3003;
    private final int DOWNLOAD_FALTURE = 3004;
    private final int DLOADMODELEXAMPLE_SUCESS = 3005;
    private final int RESTOREOPERFACE = 3006;
    private final int HANDLE_DOWNLOADMODELEXAMPLE = 3007;
    private final int DLOADMODELEXAMPLEPOPWCHECK = 3008;
    private final int KEYINFORMATION_EDITSET = 4000;
    private final int KEYINFORMATION_APPEND = 4001;
    private final int KEYINFORMATION_UPDATE = 4002;
    private final int KEYINFORMATION_CLEAR = 4003;
    private final int KEYINFORMATION_DELETE = 4004;
    private Handler handler = new Handler() {
        public void handleMessage(Message msg) {
            String strInfo;
            int iobjVal;
            switch (msg.what) {
                case KEYINFORMATION_DELETE:
                    processKeyInfo_Delete();
                    break;
                case KEYINFORMATION_CLEAR:
                    processKeyInfo_Clear();
                    break;
                case KEYINFORMATION_APPEND:
                    processKeyInfo_Append();
                    break;
                case KEYINFORMATION_UPDATE:
                    processKeyInfo_Update();
                    break;
                case RESTOREOPERFACE:
                    mLayout_butMENU.setVisibility(View.VISIBLE);
                    mLayout_butFIND.setVisibility(View.VISIBLE);
                    mLayout_Radio.setVisibility(View.VISIBLE);
                    mtxt_winInfo.setTextColor(mwinTxtInfoColor);
                    strInfo = (String)msg.obj;
                    mtxt_winInfo.setText(strInfo);
                    COMCONST.mc_ontimeTaskLockblv = false;
                    break;
                case DLOADMODELEXAMPLE_SUCESS:
                    parseMode_updateDataLst();
                    break;
                case DOWNLOAD_FALTURE:
                    mLayout_butMENU.setVisibility(View.VISIBLE);
                    mLayout_butFIND.setVisibility(View.VISIBLE);
                    mLayout_Radio.setVisibility(View.VISIBLE);
                    mtxt_winInfo.setTextColor(mwinTxtInfoColor);
                    strInfo =  getResources().getString(R.string.fragNoteBookTxt_DloadFaulture);
                    mtxt_winInfo.setText(strInfo);
                    COMCONST.mc_ontimeTaskLockblv = false;
                    break;
                case DLOADMODELEXAMPLEPOPWCHECK:
                    ModelExample_popwDownloadCheck();
                    break;
                case HANDLE_DOWNLOADMODELEXAMPLE:
                    webModelExample_DownloadCheck();
                    break;
                case DOWNLOADMODELLST_SUCESS:
                    handle_DloadModelLstSucess();
                    break;
                case WEBMODELDALST_DLOADCHK:
                    webDataLst_DownloadCheck();
                    break;
                case NETOPER_PERMISSION:
                    permissionCheck();
                    break;
                case HANDLE_SELECTMODEL:
                    selectModel_process();
                    break;
                case BUILDMODELPROCESS:
                    buildModel_process();
                    break;
                case BUILDMODELPOPWIN:
                    popwin_BuildModel();
                    break;
                case HANDLEFINDITEM:
                    handle_findItem();
                    break;
                case RADIOFINDUPDATESET:
                    updateSetFindRadio();
                    break;
                case UPDATESETITEMPICTURE:
                    handle_updateSetItemPhoto();
                    break;
                case SELECTSETITEMPICTURE:
                    handleSelSetItemPhoto();
                    break;
                case LISTSETREFRESH:
                    ListSetUpdateView();
                    break;
                case TITLEPASSWDCHECKPOPWIN:
                    handle_TitlePasswdCheck();
                    break;
                case APPENDUPDATE_NOTEBOOKITEM:
                    handleAppendUpdateItem();
                    break;
                case TITLEITEMEDITPOPW:
                    popWin_TitleItemEdit();
                    break;
                case KEYINFORMATION_EDITSET:
                    mForbidOperblv = false;
                    popWin_KeyInfoEditSet();
                    break;
                case CLICKITEM_ADDCIRBUTTON:
                    CircleADDButtonMenu(NoteBookData.iselectposj);
                    break;
                case NOTEBOOK_GOHOME:
                    callback.get_message_from_Fragment("MainHome");
                    break;
                case RESETREFRESH_VIEW:
                    swipeRefreshLayout.setRefreshing(false);
                    progressBar.setVisibility(View.INVISIBLE);//.GONE);
                    break;
                case TITLEFOLDERBUTTON:
                    TitleFolderButtonOper();
                    break;
                case ITEMSELECTCHANGE:
                    ItemSelectChanged();
                    break;
                case ITEMLONGSELECTCHANGE:
                    ItemLongSelectChanged();
                    break;
                case ITEMIMAGELONGSELCHANGE:
                    ItemImageLongSelChanged();
                    break;
                case NOTEBOOKITEM_UPDATE:
                    handle_UpdateSelItem();
                    break;
                case NOTEBOOKITEM_DELETE:
                    handle_DeleteSelItem();
                    break;
                case HANDLEDELETE_CANCEL:
                    handle_cancelDeleteItem();
                    break;
                case POPWIN_VIEWLISTSET:
                    popwinViewListSet();
                    break;
            }
        }
    };
    
    public FragmentNoteBook() {
        // Required empty public constructor
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        view = inflater.inflate(R.layout.fragment_notebook, container, false);
        recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView_web);
        swipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipeRefreshLayout);
        progressBar = (ProgressBar) view.findViewById(R.id.progress_bar);

         mtxt_winInfo = (TextView) view.findViewById(R.id.topwin_info);

        mcol1_nameTitle = (TextView) view.findViewById(R.id.col1_titleName);
        mcol1_nameTitle.setText(NoteBookData.mcustom_Col1Name);
        mcol2_noteTitle = (TextView) view.findViewById(R.id.col2_titleNote);
        mcol2_noteTitle.setText(NoteBookData.mcustom_Col2Note);

        mLayout_buildModel = (LinearLayout)view.findViewById(R.id.Layoutbut_winInfo);
        mLayout_buildModel.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                handler.sendEmptyMessage(BUILDMODELPOPWIN);
                return true;
            }
        });

        mLayout_butMENU = (LinearLayout)view.findViewById(R.id.Layoutbut_MENU);
        mLayout_butMENU.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                handler.sendEmptyMessage(CLICKITEM_ADDCIRBUTTON);
            }
        });

        m_findCtxt = (EditText)view.findViewById(R.id.edtTxt_find);
        m_WatcherFindCtxt = new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }
            @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }
            @Override public void afterTextChanged(Editable s) {

            }
        };
        m_findCtxt.addTextChangedListener(m_WatcherFindCtxt);

        mLayout_butFIND = (LinearLayout)view.findViewById(R.id.Layoutbut_FIND);
        mLayout_butFIND.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                handler.sendEmptyMessage(HANDLEFINDITEM);
            }
        });

        mLayout_Radio = (LinearLayout)view.findViewById(R.id.Layoutbut_FINDradio);
        mLayout_Radio.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                handler.sendEmptyMessage(RADIOFINDUPDATESET);
            }
        });

        mfind_radioTitle = (TextView)view.findViewById(R.id.txtfinditem_title);
        mfind_RadioImg = (threeRadioImageView)view.findViewById(R.id.imgfindradio_icon);

        NoteBookIndex.titleNormalColor = getResources().getColor(R.color.fragNoteBookColor_titleBkg);
        NoteBookIndex.titleSelColor = getResources().getColor(R.color.fragNoteBookColor_selitem);
        NoteBookIndex.dataNormalColor = getResources().getColor(R.color.fragNoteBookItemColor_cardbkg);
        NoteBookIndex.dataSelColor = getResources().getColor(R.color.fragNoteBookColor_selitem);
        NoteBookData.PICITEMSIZE = getResources().getDimension(R.dimen.fragNoteBookItemPicsize_dptopxwh);
        NoteBookData.mcustom_RaioAll = getResources().getString(R.string.fragNoteBookTxt_findAll);
        NoteBookData.mkeyInfo_Title = getResources().getString(R.string.fragNoteBookTxt_keyInfo);
        NoteBookData.mcurAppendItemIDno = 1;
        mForbidOperblv = false;
        mitemNewblv = false;
        mBackSaveOperblv = false;
        mwebOperblv = false;
        mClickIndexPosj = -1;
        mClickItemPosj = -1;
        mselItem_DelMarkb = ' ';
        mcurAssetJno = -1;
        mfindItem_Passwd = -1;
        mrecordItemIDno = 1;
        mwinTxtInfoColor = Color.WHITE;
        m_chknum = 0;
        mselItem_DATAKIND = "";
        NoteBookData.mcur_findItemjno = NoteBookData.FINDITEM_ALL;
        initSetAdapter();
        handler.sendEmptyMessage(NETOPER_PERMISSION);
        return view;
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        mContext = context;
    }

    @Override
    public void onDetach() {
        super.onDetach();
        mContext = null;
    }

    @Override
    public void onItemClick(View v, int position,boolean longblv) {
        if(mContext != null) {

        }
    }

    private void TitleFolderButtonOper()
    {
        if(mtitle_Passwd > 0 && mClickItemPosj >= 0){
            mListAdapter.mDaItemList.get(mClickItemPosj).switchTitleStatus();
        }
        mtitle_Passwd = -1;
        mClickItemPosj = -1;
        NoteBookIndex.curSelprojno = -1;
        mListAdapter.build_IndexItemLst();
        mListAdapter.notifyDataSetChanged();
    }

    private void ItemSelectChanged()
    {
        if ((NoteBookIndex.curSelprojno != mClickIndexPosj|| NoteBookData.iselectposj != mClickItemPosj) && mClickIndexPosj >= 0) {
            int ioldPosj = NoteBookIndex.curSelprojno;
            NoteBookData.iselectposj = mClickItemPosj;
            NoteBookIndex.curSelprojno = mClickIndexPosj;
            selectItemPicParaSet();
            if(ioldPosj >= 0){
                mListAdapter.notifyItemChanged(ioldPosj);
            }
            mListAdapter.notifyItemChanged(NoteBookIndex.curSelprojno);
            //
            if(mListAdapter.mDataIndexLst.get(mClickIndexPosj).getItemType().equals(NoteBookIndex.ITEMTYPE_TITLE)){
                //... mLayout_butDLOAD.setVisibility(View.INVISIBLE);
            }else{
                //... mLayout_butDLOAD.setVisibility(View.VISIBLE);
            }
            int idaposj = mListAdapter.mDataIndexLst.get(mClickIndexPosj).getItemStartPosj();
            String strName = mListAdapter.mDaItemList.get(idaposj).getItemName();
            String strNote = mListAdapter.mDaItemList.get(idaposj).getItemNote();
            mselItem_DelMarkb = mListAdapter.mDaItemList.get(idaposj).getItemDelMark();
            if(mClickItemPosj >= 0){
                mselItem_DelMarkb = mListAdapter.mDaItemList.get(mClickItemPosj).getItemDelMark();
            }
        }
        mClickIndexPosj = -1;
        mClickItemPosj = -1;
    }

    private void ItemLongSelectChanged()
    {
        if (mClickIndexPosj >= 0) {
            if(NoteBookData.iselectposj != mClickItemPosj ||NoteBookIndex.curSelprojno != mClickIndexPosj ) {
                int ioldPosj = NoteBookIndex.curSelprojno;
                NoteBookData.iselectposj = mClickItemPosj;
                NoteBookIndex.curSelprojno = mClickIndexPosj;
                selectItemPicParaSet();
                if (ioldPosj >= 0) {
                    mListAdapter.notifyItemChanged(ioldPosj);
                }
                mListAdapter.notifyItemChanged(NoteBookIndex.curSelprojno);
            }
            //
            boolean cbtitleblv = false;
            if(mListAdapter.mDataIndexLst.get(mClickIndexPosj).getItemType().equals(NoteBookIndex.ITEMTYPE_TITLE)){
                cbtitleblv = true;
            }
            int ipasswd = -1;
            if(mClickItemPosj >= 0){
                ipasswd = mListAdapter.mDaItemList.get(mClickItemPosj).getItemPasswd();
                mselItem_DelMarkb = mListAdapter.mDaItemList.get(mClickItemPosj).getItemDelMark();
            }
            mitemNewblv = false;
            popwNoteBookData.mcurEditMode = popwNoteBookData.EDITMODE_VERIFY;
            popwNoteBookData.mdlgTitleName = getResources().getString(R.string.fragNoteBookPopw_verifyItem);
            if(ipasswd <= 0 || cbtitleblv == true){
                popwNoteBookData.mcurEditMode = popwNoteBookData.EDITMODE_UPDATE;
                popwNoteBookData.mdlgTitleName = getResources().getString(R.string.fragNoteBookPopw_editData);
            }
            handler.sendEmptyMessage(TITLEITEMEDITPOPW);
        }
        mClickIndexPosj = -1;
        mClickItemPosj = -1;
        mForbidOperblv = false;
    }

    private void selectItemPicParaSet()
    {
        if(NoteBookData.iselectposj >= 0){
            NoteBookData.mcurItem_Selfpic = ' ';
            byte bselfpic = NoteBookData.mcurItem_Selfpic = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getSelfpic();
            if(bselfpic == NoteBookData.ITEMPIC_YES){
                NoteBookData.mcurItem_Selfpic = NoteBookData.SELFPIC_PHOTO;
                NoteBookData.mcurItem_PhotoFilename = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getItemPicFullpathName();
            }else{
                int iassetjno = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getItemAssetJno();
                if(iassetjno > 0){
                    NoteBookData.mcurItem_Selfpic = NoteBookData.SELFPIC_ASSET;
                    NoteBookData.mcurItem_AssetJno = iassetjno;
                }
            }
        }
    }

    private void ItemImageLongSelChanged()
    {
        if (mClickIndexPosj >= 0) {
            if(NoteBookData.iselectposj != mClickItemPosj ||NoteBookIndex.curSelprojno != mClickIndexPosj ) {
                int ioldPosj = NoteBookIndex.curSelprojno;
                NoteBookData.iselectposj = mClickItemPosj;
                NoteBookIndex.curSelprojno = mClickIndexPosj;
                selectItemPicParaSet();
                if (ioldPosj >= 0) {
                    mListAdapter.notifyItemChanged(ioldPosj);
                }
                mListAdapter.notifyItemChanged(NoteBookIndex.curSelprojno);
            }
            //
            boolean cbtitleblv = false;
            if(mListAdapter.mDataIndexLst.get(mClickIndexPosj).getItemType().equals(NoteBookIndex.ITEMTYPE_TITLE)){
                cbtitleblv = true;
            }
             int ipasswd = -1;
            if(mClickItemPosj >= 0){
                ipasswd = mListAdapter.mDaItemList.get(mClickItemPosj).getItemPasswd();
                mselItem_DelMarkb = mListAdapter.mDaItemList.get(mClickItemPosj).getItemDelMark();
            }
            mClickIndexPosj = -1;
            mClickItemPosj = -1;
            mForbidOperblv = false;
            mitemNewblv = false;
            popwComData.mcurMenuMode = popwComData.MENUMODE_NUM1;
            popwComData.mMenu1_Name = getResources().getString(R.string.fragNoteBookTxt_menuSelPic);
            popwComDlg comDlg = new popwComDlg((Activity) mContext,"COMMENU");
            comDlg.setOnWinButtonClickListener(new popwComDlg.OnWinButtonClickListener(){
                @Override
                public void onWindButtonClick(int butcd, String menuName) {
                    if(butcd == popwComData.MENU1_CODE){
                        handler.sendEmptyMessage(SELECTSETITEMPICTURE);
                    }
                }
            });
            comDlg.showAtScreen(mLayout_butMENU,COMCONST.LocationType.PARENT_CENTER);
        }
        mClickIndexPosj = -1;
        mClickItemPosj = -1;
        mForbidOperblv = false;
     }

    private void handle_UpdateSelItem()
    {
        if (NoteBookIndex.curSelprojno >= 0 && NoteBookIndex.curSelprojno < mListAdapter.mDataIndexLst.size()) {
            int idaposj = mListAdapter.mDataIndexLst.get(NoteBookIndex.curSelprojno).getItemStartPosj();
            if(NoteBookData.iselectposj >= 0 && NoteBookData.iselectposj < mListAdapter.mDaItemList.size()){
                idaposj = NoteBookData.iselectposj;
            }
            if(idaposj >= 0 && idaposj < mListAdapter.mDaItemList.size()) {
                byte[] tmpRbyteArr = new byte[288];
                int[] daparv = new int[18];
                daparv[1] = 0;
                daparv[2] = 0;
                int iretv = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_GETDATETIME,daparv,-1,tmpRbyteArr,280);
                if(iretv > 0){
                    int icyear = daparv[0];
                    byte bmonth = tmpRbyteArr[0];
                    byte bday = tmpRbyteArr[1];
                    byte bweekno = tmpRbyteArr[2];
                    byte bhour = tmpRbyteArr[3];
                    byte bmin = tmpRbyteArr[4];
                    byte bsec = tmpRbyteArr[5];
                    mListAdapter.mDaItemList.get(idaposj).setItemDateTime(icyear,bmonth,bweekno,bday,bhour,bmin,bsec);
                }
                mListAdapter.mDaItemList.get(idaposj).setItemName(popwNoteBookData.mName);
                mListAdapter.mDaItemList.get(idaposj).setItemNote(popwNoteBookData.mNote);
                mListAdapter.mDaItemList.get(idaposj).setItemPasswd(popwNoteBookData.mcurPasswdCode);
                NoteBookData.mDataChangeblv = true;
                mListAdapter.notifyItemChanged(NoteBookIndex.curSelprojno);
            }
        }
    }

    private void popwinViewListSet()
    {
        popwNoteBookLstSet LstSetDlg = new popwNoteBookLstSet((Activity) mContext,"VIEWLST");
        LstSetDlg.setOnWinButtonClickListener(new popwNoteBookLstSet.OnWinButtonClickListener() {
            @Override
            public void onWindButtonClick(int butcd, String menuName) {
                if (butcd == popwNoteBookData.OPERBUTTON_YES) {
                    handler.sendEmptyMessage(LISTSETREFRESH);
                }
            }
        });
        LstSetDlg.showAtScreen(mLayout_butMENU,COMCONST.LocationType.LEFT_BOTTOM);
    }

    private void handle_DeleteSelItem()
    {
        if (NoteBookIndex.curSelprojno >= 0 && NoteBookIndex.curSelprojno < mListAdapter.mDataIndexLst.size()) {
            int idaposj = mListAdapter.mDataIndexLst.get(NoteBookIndex.curSelprojno).getItemStartPosj();
            if(NoteBookData.iselectposj >= 0 && NoteBookData.iselectposj < mListAdapter.mDaItemList.size()){
                idaposj = NoteBookData.iselectposj;
            }
            if(idaposj >= 0 && idaposj < mListAdapter.mDaItemList.size()) {
                mListAdapter.mDaItemList.get(idaposj).setItemDeleteMark(NoteBookData.ITEMDELETE_YES);
                NoteBookData.mDataChangeblv = true;
                NoteBookIndex.curSelprojno = -1;
                NoteBookData.iselectposj = -1;
                mListAdapter.build_IndexItemLst();
                mListAdapter.notifyDataSetChanged();
            }
        }
    }

    private void handle_cancelDeleteItem()
    {
        if (NoteBookIndex.curSelprojno >= 0 && NoteBookIndex.curSelprojno < mListAdapter.mDataIndexLst.size()) {
            int idaposj = mListAdapter.mDataIndexLst.get(NoteBookIndex.curSelprojno).getItemStartPosj();
            if(NoteBookData.iselectposj >= 0 && NoteBookData.iselectposj < mListAdapter.mDaItemList.size()){
                idaposj = NoteBookData.iselectposj;
            }
            if(idaposj >= 0 && idaposj < mListAdapter.mDaItemList.size()) {
                mListAdapter.mDaItemList.get(idaposj).setItemDeleteMark(NoteBookData.ITEMDELETE_NO);
                NoteBookData.mDataChangeblv = true;
                NoteBookIndex.curSelprojno = -1;
                NoteBookData.iselectposj = -1;
                mListAdapter.build_IndexItemLst();
                mListAdapter.notifyDataSetChanged();
            }
        }
    }

    private void initSetAdapter()
    {
        recyclerView.setLayoutManager(new LinearLayoutManager(mContext));
        NoteBookAdapter.OnAddRemoveListener remLister = new NoteBookAdapter.OnAddRemoveListener(){
            @Override
            public void onAddRemoved(int iszie,String opinfo,String dataName) {
                 if(opinfo.equals("Remove")){

                }
                if(opinfo.equals("FINISH")) {
                }
            }
        };

        /**
         * 初始化swipeRefreshLayout
         */
        swipeRefreshLayout.setColorSchemeColors(getResources().getColor(R.color.color_03a9f4));
        swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                Message msg = new Message();
                msg.what = RESETREFRESH_VIEW;
                msg.obj = "netpal share";

                handler.sendMessage(msg);
            }
        });

        //
        NoteBookAdapter.OnSelClickListener selClickLister = new NoteBookAdapter.OnSelClickListener() {
            @Override
            public void onSelClickItem(int iposj, int ixp, int iyp, int butcd, String itemStr, View v) {
                if(butcd == NoteBookIndex.FOLDERIMGBUT_CLICK || butcd == NoteBookIndex.FOLDERIMGBUT_LONGCLICK){
                    if(!mForbidOperblv) {
                        mClickIndexPosj = iposj;
                        mClickItemPosj = ixp;
                        mtitle_Passwd = iyp;
                        mselItem_DATAKIND = itemStr;
                        if(mtitle_Passwd > 0){
                            handler.sendEmptyMessage(TITLEPASSWDCHECKPOPWIN);
                        }else {
                            handler.sendEmptyMessage(TITLEFOLDERBUTTON);
                        }
                    }
                }
                if(butcd == NoteBookIndex.ITEMSELCLICK || butcd == NoteBookIndex.ITEMIMAGESELCLICK){
                    if(!mForbidOperblv) {
                        mClickIndexPosj = iposj;
                        mClickItemPosj = iyp;
                        mfindItem_Passwd = ixp;
                        mselItem_DATAKIND = itemStr;
                        handler.sendEmptyMessage(ITEMSELECTCHANGE);
                    }
                }
                if(butcd == NoteBookIndex.ITEMSELLONGCLICK){
                    if(!mForbidOperblv) {
                        mClickIndexPosj = iposj;
                        mClickItemPosj = iyp;
                        mfindItem_Passwd = ixp;
                         mselItem_DATAKIND = itemStr;
                        mForbidOperblv = true;
                        handler.sendEmptyMessage(ITEMLONGSELECTCHANGE);
                    }
                }
                if(butcd == NoteBookIndex.ITEMIMAGESELLONGCLICK){
                    if(!mForbidOperblv) {
                        mClickIndexPosj = iposj;
                        mClickItemPosj = iyp;
                        mfindItem_Passwd = ixp;
                        mForbidOperblv = true;
                        mselItem_DATAKIND = itemStr;
                        if(itemStr == NoteBookIndex.ITEMTYPE_KEYDATA){
                            popwNoteBookData.mcurEditMode = popwNoteBookData.EDITMODE_UPDATE;
                            popwNoteBookData.mdlgTitleName = getResources().getString(R.string.fragNoteBookPopw_editData);
                            handler.sendEmptyMessage(KEYINFORMATION_EDITSET);
                        }else {
                            handler.sendEmptyMessage(ITEMIMAGELONGSELCHANGE);
                        }
                    }
                }
            }
        };
        NoteBookData.iselectposj = -1;
        ArrayList<NoteBookData> mItemLst = new ArrayList();
        byte[] tmpRbyteArr = new byte[388];
        int[] daparv = new int[18];
        daparv[0] = 0;
        daparv[1] = 0;
        daparv[2] = 0;
        daparv[3] = 0;
        daparv[4] = 0;
        daparv[5] = 0;
        daparv[6] = 0;
        int iretItemNum = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_GETLSTNUM,daparv,-1,tmpRbyteArr,380);
        if(iretItemNum >= 0) {
            NoteBookData.mcurItemMode = tmpRbyteArr[0];
            int icol1Namecn = daparv[1];
            int iboffv = 1;
            if (icol1Namecn > 0) {
                NoteBookData.mcustom_Col1Name = new String(tmpRbyteArr, iboffv, icol1Namecn);
                iboffv = iboffv + icol1Namecn;
                mcol1_nameTitle.setText(NoteBookData.mcustom_Col1Name);
            }
            int icol2Notecn = daparv[2];
            if (icol2Notecn > 0) {
                NoteBookData.mcustom_Col2Note = new String(tmpRbyteArr, iboffv, icol2Notecn);
                iboffv = iboffv + icol2Notecn;
                mcol2_noteTitle.setText(NoteBookData.mcustom_Col2Note);
            }
            int iwkdircn = daparv[3];
            if (iwkdircn > 0) {
                NoteBookData.mWorkDatadir = new String(tmpRbyteArr, iboffv, iwkdircn);
                iboffv = iboffv + iwkdircn;
            }
            int ipiccn = daparv[4];
            if (ipiccn > 0) {
                NoteBookData.mItemPicTmpfile = new String(tmpRbyteArr, iboffv, ipiccn);
                iboffv = iboffv + ipiccn;
            }
            int ipicPrecn = daparv[5];
            if (ipicPrecn > 0) {
                NoteBookData.mItemPicFilePre = new String(tmpRbyteArr, iboffv, ipicPrecn);
                iboffv = iboffv + ipicPrecn;
            }
            int ipicTailcn = daparv[6];
            if (ipicTailcn > 0) {
                NoteBookData.mItemPicFileTail = new String(tmpRbyteArr, iboffv, ipicTailcn);
                iboffv = iboffv + ipicTailcn;
            }
        }
        if(iretItemNum > 0){
            for(int jrec = 0;jrec < iretItemNum;jrec++){
                int iretcn = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_DATAITEM,daparv,jrec,tmpRbyteArr,180);
                if (iretcn < 0) break;
                if (iretcn <= 0) continue;
                int ioffv = 0;
                byte dakindc = tmpRbyteArr[ioffv];ioffv++;
                byte selfpic = tmpRbyteArr[ioffv];ioffv++;
                byte bassetno = tmpRbyteArr[ioffv];ioffv++;
                byte bmonth = tmpRbyteArr[ioffv];ioffv++;
                byte bday = tmpRbyteArr[ioffv];ioffv++;
                byte bweekno = tmpRbyteArr[ioffv];ioffv++;
                byte bhour = tmpRbyteArr[ioffv];ioffv++;
                byte bmin = tmpRbyteArr[ioffv];ioffv++;
                byte bsec = tmpRbyteArr[ioffv];ioffv++;

                int icyear = daparv[0];
                int itemIDno = daparv[1];
                int inamebn = daparv[2];
                int inotebn = daparv[3];
                int ipasswd = daparv[4];
                String strName = "";
                if (inamebn > 0 && inamebn < 50) {
                    strName = new String(tmpRbyteArr, ioffv, inamebn);
                    ioffv = ioffv + inamebn;
                }
                String strNote = "";
                if (inotebn > 0 && inotebn < 120) {
                    strNote = new String(tmpRbyteArr, ioffv, inotebn);
                    ioffv = ioffv + inotebn;
                }
                NoteBookData itemdata = new NoteBookData();
                itemdata.setByteParaItem(dakindc, selfpic, NoteBookData.TITLESTATUS_CLOSE);
                itemdata.setItemDateTime(icyear,bmonth,bweekno,bday,bhour,bmin,bsec);
                itemdata.setItemAssetJno((int)bassetno);
                itemdata.setItemIDno(itemIDno);
                if(mrecordItemIDno <= itemIDno && itemIDno > 0) mrecordItemIDno = itemIDno+1;
                itemdata.setItemName(strName);
                itemdata.setItemNote(strNote);
                itemdata.setItemPasswd(ipasswd);
                mItemLst.add(itemdata);
            }
        }
        if(iretItemNum <= 0) {
        }
        // key information
        ArrayList<NoteBookKeyInfoData> mInfoItemLst = new ArrayList();
        int infoItemNum = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_KEYINFOGETITEM,daparv,-1,tmpRbyteArr,380);
        if(infoItemNum > 0){
            for(int ji = 0;ji < infoItemNum;ji++){
                int iretcn = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_KEYINFOGETITEM,daparv,ji,tmpRbyteArr,180);
                if (iretcn < 0) break;
                if (iretcn <= 0) continue;
                int ioffv = 0;
                byte status = tmpRbyteArr[ioffv];ioffv++;
                int ictxtbn = daparv[0];
                int itemIDno = daparv[1];
                String strCtxt = "";
                if (ictxtbn > 0 && ictxtbn < 50) {
                    strCtxt = new String(tmpRbyteArr, ioffv, ictxtbn);
                    ioffv = ioffv + ictxtbn;
                }
                NoteBookKeyInfoData curInfo = new NoteBookKeyInfoData(status,strCtxt,itemIDno);
                mInfoItemLst.add(curInfo);
            }
        }
        //
        ArrayList<NoteBookIndex> cindexDaLst = new ArrayList();
        ArrayList<NoteBookIndex> cfindDaLst = new ArrayList();
        mListAdapter = new NoteBookAdapter(mContext, mItemLst,cindexDaLst,cfindDaLst,mInfoItemLst,selClickLister);
        mListAdapter.build_IndexItemLst();
        recyclerView.setAdapter(mListAdapter);

        handler.sendEmptyMessage(RESETREFRESH_VIEW);
    }

    private void updateSetFindRadio()
    {
        NoteBookData.mcur_findItemjno++;
        if(NoteBookData.mcur_findItemjno > NoteBookData.FINDITEM_COL1NOTE) NoteBookData.mcur_findItemjno = NoteBookData.FINDITEM_ALL;
        mfind_RadioImg.setCurrentRadiono(NoteBookData.mcur_findItemjno);
        if(NoteBookData.mcur_findItemjno == NoteBookData.FINDITEM_ALL){
            mfind_RadioImg.setColorFilter(Color.BLACK);
            mfind_radioTitle.setText(NoteBookData.mcustom_RaioAll);
        }
        if(NoteBookData.mcur_findItemjno == NoteBookData.FINDITEM_COL1NAME){
            mfind_RadioImg.setColorFilter(Color.BLACK);
            mfind_radioTitle.setText(NoteBookData.mcustom_Col1Name);
        }
        if(NoteBookData.mcur_findItemjno == NoteBookData.FINDITEM_COL1NOTE){
            mfind_RadioImg.setColorFilter(Color.BLACK);
            mfind_radioTitle.setText(NoteBookData.mcustom_Col2Note);
        }
        if(mListAdapter.checkResetFindItem()){
            mListAdapter.build_IndexItemLst();
            NoteBookIndex.curSelprojno = -1;
            NoteBookData.iselectposj = -1;
            mListAdapter.notifyDataSetChanged();
        }
    }

    private void permissionCheck () {
        boolean permissionState = true;
        if (Build.VERSION.SDK_INT >= 23) {
            for (String permission : permissionManifest) {
                if (ContextCompat.checkSelfPermission(mContext, permission)
                        != PackageManager.PERMISSION_GRANTED) {
                    permissionState = false;
                }
            }
            if (!permissionState) {
                Activity activity = (Activity) mContext;
                ActivityCompat.requestPermissions(activity, permissionManifest, PERMISSION_REQUEST_CODE);
            } else {
                mwebOperblv = true;
            }
        } else {
            mwebOperblv = true;
        }
    }

    private void selectModel_process()
    {
         if(mwebOperblv){
             webDataLst_DownloadCheck();
         }else{
             COMCONST.ToastCenterImage(mContext,getResources().getString(R.string.fragNoteBookTxt_noPermission),R.drawable.comvec_err,Toast.LENGTH_LONG,Color.RED);
         }
    }

    private void handle_DloadModelLstSucess() {
        int[] ipdarv = new int[8];
        byte[] RbyteArr = new byte[266];
        int iretcn = ActEventDataClass.JavaJNIgetComModelLstItem(COMMODEL_BUILDITEMLST,ipdarv ,COMMODELKIND_NOTEBOOK,RbyteArr,260);
        if(iretcn > 0){
            popwin_selectModel();
        }else {
            mtxt_winInfo.setText(getResources().getString(R.string.fragNoteBookTxt_modelLstErr));
            mLayout_butMENU.setVisibility(View.VISIBLE);
            mLayout_butFIND.setVisibility(View.VISIBLE);
            mLayout_Radio.setVisibility(View.VISIBLE);
            COMCONST.mc_ontimeTaskLockblv = false;
        }

    }

    private void popwin_selectModel()
    {
        mtxt_winInfo.setText("...");
        mpopw_butCtrl = 0;
        popwModelDlg.mcurModelKind = COMMODELKIND_NOTEBOOK;
        popwModelDlg modelDlg = new popwModelDlg((Activity) mContext);
        modelDlg.setOnWinButtonClickListener(new popwModelDlg.OnWinButtonClickListener(){
            @Override
            public void onWindButtonClick(int butcd, String menuName) {
                if(menuName.equals(popwModelDlg.DIMISSname)){
                    //... handler.sendEmptyMessage(RESTOREOPERFACE);
                }
                if(butcd == 111) {
                    mpopw_butCtrl = 111;
                    mwait_OnTimeLoopNum = 0;
                     comModelDownloadUrl = COMCONST.msWebNotebookMdlUriHead+String.valueOf(popwModelDlg.mselModelIDno)+COMCONST.msWebNotebookMdlUriTail;
                    handler.sendEmptyMessage(DLOADMODELEXAMPLEPOPWCHECK);// HANDLE_DOWNLOADMODELEXAMPLE);
                }else{
                    if(butcd < 0 && mpopw_butCtrl == 0) {
                        mwinTxtInfoColor = Color.WHITE;
                        Message msg = new Message();
                        msg.what = RESTOREOPERFACE;
                        msg.obj = "---";
                        handler.sendMessage(msg);
                    }
                }
            };
        });
        modelDlg.showAtScreen(mLayout_butMENU,COMCONST.LocationType.PARENT_CENTER);
    }

    private void popwin_BuildModel()
    {
        String strInfoj1 = mContext.getResources().getString(R.string.fragNoteBookTxt_buildQuery);
        PopupWindowDlg curDlg = new PopupWindowDlg((Activity) mContext, strInfoj1);
        curDlg.setOnWinButtonClickListener(new PopupWindowDlg.OnWinButtonClickListener() {
            @Override
            public void onWindButtonClick(int butcd, String menuName) {
                if (butcd == 9) {
                    mwait_OnTimeLoopNum = 0;
                    handler.sendEmptyMessage(BUILDMODELPROCESS);
                }
            }
        });
        curDlg.showAtScreen(mLayout_butMENU, COMCONST.LocationType.PARENT_CENTER);
    }

    private void setMenuButtonVisible(boolean cvisiblv)
    {
        if(cvisiblv) {
            mLayout_butMENU.setVisibility(View.VISIBLE);
            mLayout_butFIND.setVisibility(View.VISIBLE);
            mLayout_Radio.setVisibility(View.VISIBLE);
        }else{
            mLayout_butMENU.setVisibility(View.INVISIBLE);
            mLayout_butFIND.setVisibility(View.INVISIBLE);
            mLayout_Radio.setVisibility(View.INVISIBLE);;
        }
    }

    private void handle_findItem()
    {
        String strFind = m_findCtxt.getText().toString();
        if(strFind.length() > 0){
            setMenuButtonVisible(false);
            if(mListAdapter.findBuildFindItemLst(strFind) > 0){
                mListAdapter.build_IndexItemLst();
                mListAdapter.notifyDataSetChanged();
            }else{
                COMCONST.ToastCenterImage(mContext,getResources().getString(R.string.fragNoteBookTxt_findFault),R.drawable.comvec_err,Toast.LENGTH_LONG,Color.RED);
            }
            setMenuButtonVisible(true);
        }else{
            COMCONST.ToastCenterImage(mContext,getResources().getString(R.string.fragNoteBookTxt_findTxterr),R.drawable.comvec_err,Toast.LENGTH_LONG,Color.RED);
        }
    }

    private void buildModel_process()
    {
        if(mwait_OnTimeLoopNum == 0){
            setMenuButtonVisible(false);
            mwait_OnTimeLoopNum++;
        };
        if(COMCONST.mc_ontimeTaskLockblv){
            mwait_OnTimeLoopNum++;
            systemBusyWaitThread startWait = new systemBusyWaitThread(handler, "WAITSAVE61",BUILDMODELPROCESS);
            Thread thread = new Thread(startWait, "BusyWait61");
            thread.start();
        }else{
            COMCONST.mc_ontimeTaskLockblv = true;
            int[] daparv = new int[18];
            byte[] tmpRbyteArr = new byte[66];
            daparv[1] = -1;
            int iretcn = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_BUILDMODEL, daparv, -1, tmpRbyteArr, 60);
            COMCONST.mc_ontimeTaskLockblv = false;
            setMenuButtonVisible(true);
        }
    }

    private void handle_updateSetItemPhoto()
    {
        if(mwait_OnTimeLoopNum == 0){
            setMenuButtonVisible(false);
            mwait_OnTimeLoopNum++;
        };
        if(COMCONST.mc_ontimeTaskLockblv){
            mwait_OnTimeLoopNum++;
            systemBusyWaitThread startWait = new systemBusyWaitThread(handler, "WAITSAVE61",UPDATESETITEMPICTURE);
            Thread thread = new Thread(startWait, "BusyWait61");
            thread.start();
        }else{
            COMCONST.mc_ontimeTaskLockblv = true;
            updateSetItemPhoto();
            COMCONST.mc_ontimeTaskLockblv = false;
            setMenuButtonVisible(true);
        }
    }

    private void updateSetItemPhoto()
    {
        if(NoteBookData.iselectposj >= 0 && NoteBookIndex.curSelprojno >= 0){
            int[] daparv = new int[18];
            byte[] tmpRbyteArr = new byte[66];
            if(mcurAssetJno <= 0){
                int icItemIDno = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getItemIDno();
                daparv[0] = icItemIDno;
                daparv[1] = -1;
                int iretcn = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_UPDATEITEMPHOTO, daparv, -1, tmpRbyteArr, 60);
                if(iretcn > 0){
                    NoteBookData.mDataChangeblv = true;
                    if(icItemIDno < 0 && daparv[1] > 0){
                        mListAdapter.mDaItemList.get(NoteBookData.iselectposj).setItemIDno(daparv[1]);
                    }
                    mListAdapter.mDaItemList.get(NoteBookData.iselectposj).setItemSelfpicMark(NoteBookData.ITEMPIC_YES);
                    mListAdapter.notifyItemChanged(NoteBookIndex.curSelprojno);
                }
            }else{
                NoteBookData.mDataChangeblv = true;
                mListAdapter.mDaItemList.get(NoteBookData.iselectposj).setItemSelfpicMark(NoteBookData.ITEMPIC_NO);
                mListAdapter.mDaItemList.get(NoteBookData.iselectposj).setItemAssetJno(mcurAssetJno);
                mListAdapter.notifyItemChanged(NoteBookIndex.curSelprojno);
            }
        }
    }

    private void handleSelSetItemPhoto()
    {
        Intent intent = new Intent(mContext,CameraPhotoSelActivity.class);
        intent.putExtra("OPERCTRL",NoteBookData.PICMARKCODE);
        startActivityForResult(intent,REQUESTCODE_PICTURE);
    }

    private void ListSetUpdateView()
    {
        if (COMCONST.mc_ontimeTaskLockblv) {
            systemBusyWaitThread startWait2 = new systemBusyWaitThread(handler, "WAITSAVE33",LISTSETREFRESH);
            Thread thread2 = new Thread(startWait2, "BusyWait33");
            thread2.start();
        }
        COMCONST.mc_ontimeTaskLockblv = true;
        byte[] tmpRbyteArr = new byte[288];
        int[] daparv = new int[18];
        tmpRbyteArr[0] = NoteBookData.mcurItemMode;
        byte[] byteName = NoteBookData.mcustom_Col1Name.getBytes();
        int iclen = byteName.length;
        if(iclen > 26) iclen = 26;
        for(int jb = 0;jb < iclen;jb++) tmpRbyteArr[jb+1] = byteName[jb];
        int iboffv = 1+iclen;
        daparv[0] = iclen;
        byte[] byteNote = NoteBookData.mcustom_Col2Note.getBytes();
        iclen = byteNote.length;
        if(iclen > 26) iclen = 26;
        for(int jb = 0;jb < iclen;jb++) tmpRbyteArr[jb+iboffv] = byteNote[jb];
        daparv[1] = iclen;
        int iretItemNum = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_UPDATEHEADCOLNAME,daparv,-1,tmpRbyteArr,280);
        mcol2_noteTitle.setText(NoteBookData.mcustom_Col2Note);
        mcol1_nameTitle.setText(NoteBookData.mcustom_Col1Name);
        mListAdapter.build_IndexItemLst();
        mListAdapter.notifyDataSetChanged();
        COMCONST.mc_ontimeTaskLockblv = false;
    }

    private void handle_TitlePasswdCheck()
    {
        PopupWindowCustom popupWindow = new PopupWindowCustom(mContext);
        String titleInfoj = getResources().getString(R.string.common_passwordpwin);
        popupWindow.setLayoutIdAndInfo(R.layout.popupwindow_custom,titleInfoj, -202202);
        popupWindow.setCurCheckPassword(PopupWindowCustom.PASSWDKIND_PUBLICDATA,String.valueOf(mtitle_Passwd));
        popupWindow.setOutsideTouchable(false);
        popupWindow.setAnimationStyle(R.style.PopUpWinDlg);

        popupWindow.setOnSelectItemListener(new OnSelectItemListener() {
            @Override
            public void selectItem(String name, int type) {
                if(type == 11){
                    handler.sendEmptyMessage(TITLEFOLDERBUTTON);
                }
            }
        });
        popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
            @Override
            public void onDismiss() {
                COMCONST.mc_popWindowLockblv = false;
            }
        });
        popupWindow.showDialogWindow(mLayout_butMENU, COMCONST.LocationType.LEFT_BOTTOM);
    }

    private void handleAppendUpdateItem()
    {
        if(mClickIndexPosj < 0 || mitemNewblv == true){// append new item
            NoteBookData itemData = new NoteBookData();
            byte[] tmpRbyteArr = new byte[288];
            int[] daparv = new int[18];
            daparv[1] = 0;
            daparv[2] = 0;
            int iretv = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_GETDATETIME,daparv,-1,tmpRbyteArr,280);
            if(iretv > 0){
                int icyear = daparv[0];
                byte bmonth = tmpRbyteArr[0];
                byte bday = tmpRbyteArr[1];
                byte bweekno = tmpRbyteArr[2];
                byte bhour = tmpRbyteArr[3];
                byte bmin = tmpRbyteArr[4];
                byte bsec = tmpRbyteArr[5];
                itemData.setItemDateTime(icyear,bmonth,bweekno,bday,bhour,bmin,bsec);
            }
            itemData.setItemIDno(mrecordItemIDno);
            mrecordItemIDno++;
            itemData.setByteParaItem(popwNoteBookData.mcurItemKind,NoteBookData.ITEMPIC_NO,NoteBookData.TITLESTATUS_CLOSE);
            itemData.setItemName(popwNoteBookData.mName);
            itemData.setItemNote(popwNoteBookData.mNote);
            itemData.setItemPasswd(popwNoteBookData.mcurPasswdCode);
            if(NoteBookData.iselectposj >= 0 && NoteBookData.iselectposj < mListAdapter.mDaItemList.size()) {
                mListAdapter.mDaItemList.add(NoteBookData.iselectposj + 1, itemData);
            }else {
                mListAdapter.mDaItemList.add(itemData);
            }
        }else{
            ;
        };
        mListAdapter.build_IndexItemLst();
        NoteBookIndex.curSelprojno = mListAdapter.getCurIndexPosj(NoteBookData.iselectposj,NoteBookIndex.curSelprojno);
        mListAdapter.notifyDataSetChanged();
        NoteBookData.mDataChangeblv = true;
    }

    private void popWin_TitleItemEdit()
    {
        if(popwNoteBookData.mcurEditMode == popwNoteBookData.EDITMODE_UPDATE || popwNoteBookData.mcurEditMode == popwNoteBookData.EDITMODE_DELETE|| popwNoteBookData.mcurEditMode == popwNoteBookData.EDITMODE_VERIFY){
            if(NoteBookData.iselectposj < 0 || NoteBookData.iselectposj >= mListAdapter.mDaItemList.size()){
                COMCONST.ToastCenterImage(mContext,getResources().getString(R.string.fragNoteBookTxt_operErr),R.drawable.comvec_err,Toast.LENGTH_LONG,Color.RED);
                return;
            }
            popwNoteBookData.mNote = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getItemNote();
            popwNoteBookData.mName = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getItemName();
            popwNoteBookData.mcurPasswdCode = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getItemPasswd();
        }
        popwNoteBookEdit comEdtDlg = new popwNoteBookEdit((Activity) mContext,"NOTEBOOK");
        comEdtDlg.setOnWinButtonClickListener(new popwNoteBookEdit.OnWinButtonClickListener(){
            @Override
            public void onWindButtonClick(int butcd, String menuName) {
                if(butcd == popwNoteBookData.OPERBUTTON_YES) {
                    if(popwNoteBookData.mcurEditMode == popwNoteBookData.EDITMODE_UPDATE) {
                        handler.sendEmptyMessage(NOTEBOOKITEM_UPDATE);
                    }else if(popwNoteBookData.mcurEditMode == popwNoteBookData.EDITMODE_DELETE){
                        handler.sendEmptyMessage(NOTEBOOKITEM_DELETE);
                    }else{
                        handler.sendEmptyMessage(APPENDUPDATE_NOTEBOOKITEM);
                    }
                }
            }
        });
        comEdtDlg.showAtScreen(mLayout_butMENU,COMCONST.LocationType.LEFT_BOTTOM);// COMCONST.LocationType.PARENT_CENTER);// COMCONST.LocationType.LEFT_BOTTOM);
    }

    private void popWin_KeyInfoEditSet()
    {
        if(mikeyInfoCode == 2){
            NoteBookData.iselectposj = mListAdapter.GetSelItemKeyposj(NoteBookIndex.curSelprojno);
        }
        if (NoteBookData.iselectposj < 0 || NoteBookData.iselectposj >= mListAdapter.mDaItemList.size()) {
             COMCONST.ToastCenterImage(mContext, getResources().getString(R.string.fragNoteBookTxt_operErr), R.drawable.comvec_err, Toast.LENGTH_LONG, Color.RED);
             return;
        }

        popwNoteBookData.mkeyInfoClearblv = false;
        popwNoteBookData.mcurKeyInfoNum = mListAdapter.GetKeyInfoItemNum();
        popwNoteBookData.mcurKeyInfoIDno = mListAdapter.GetItemIDno(NoteBookData.iselectposj);
        popwNoteBookData.mcurKeyInfoposj = mListAdapter.checkGetKeyInfoItem(popwNoteBookData.mcurKeyInfoIDno);
        popwNoteBookData.mkeyInfo_Note = mListAdapter.GetKeyInfoItemNote(popwNoteBookData.mcurKeyInfoIDno);
        popwNoteBookData.mkeyInfo_picname = mListAdapter.GetItemPictureFullname(NoteBookData.iselectposj);
        popwNoteBookData.mNote = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getItemNote();
        popwNoteBookData.mName = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getItemName();
        popwNoteBookData.mcurPasswdCode = mListAdapter.mDaItemList.get(NoteBookData.iselectposj).getItemPasswd();
        popwNoteBookData.mkeyInfo_Title = getResources().getString(R.string.fragNoteBookPopw_keyInfoTitle);
        popwKeyInfo comEdtDlg = new popwKeyInfo((Activity) mContext,"NOTEBOOK");
        comEdtDlg.setOnWinButtonClickListener(new popwKeyInfo.OnWinButtonClickListener(){
            @Override
            public void onWindButtonClick(int butcd, String menuName) {
                if(butcd == popwNoteBookData.KEYINFO_UPDATE){
                    handler.sendEmptyMessage(KEYINFORMATION_UPDATE);
                }
                if(butcd == popwNoteBookData.KEYINFO_APPEND){
                    handler.sendEmptyMessage(KEYINFORMATION_APPEND);
                }
                if(butcd == popwNoteBookData.KEYINFO_CANCEL){
                    if(popwNoteBookData.mkeyInfoClearblv){
                        handler.sendEmptyMessage(KEYINFORMATION_CLEAR);
                    }
                }
            }
        });
        comEdtDlg.showAtScreen(mLayout_butMENU,COMCONST.LocationType.LEFT_BOTTOM);// COMCONST.LocationType.PARENT_CENTER);// COMCONST.LocationType.LEFT_BOTTOM);
    }

    private void CircleADDButtonMenu(int iposj)
    {
        int icolor_darkRed = getResources().getColor(R.color.pmenucolor_darkRed);
        int icolor_darkGreen = getResources().getColor(R.color.pmenucolor_darkGreen);
        int icolor_darkBlue = getResources().getColor(R.color.pmenucolor_darkBlue);
        int icolor_darkYellow = getResources().getColor(R.color.pmenucolor_darkYellow);
        int icolor_darkSky = getResources().getColor(R.color.pmenucolor_darkSky);
        int icolor_darkBlack = getResources().getColor(R.color.pmenucolor_darkBlack);
        int icolor_spec66 = getResources().getColor(R.color.pmenucolor_spec66);
        mPopMenu = new bs60PopMenu((Activity)mContext);
        final List<myMenuItem> menuItems = new ArrayList<>();
        String[] menuName = getResources().getStringArray(R.array.mainshare_menu);
        int menuItemjn = 0;
        mikeyInfoCode = 0;
        if(mselItem_DelMarkb == NoteBookData.ITEMDELETE_NO) {
            mikeyInfoCode = mListAdapter.checkItemIfKeyInfo(NoteBookIndex.curSelprojno);
            if(iposj >= 0) {
                boolean classblv = mListAdapter.checkGetItemIfClass(iposj);
                if(!classblv) {
                    menuItemjn++;
                    menuItems.add(new myMenuItem("000", R.drawable.comvec_keyinfo, getResources().getString(R.string.fragNoteBookEdit_keyInfo), icolor_darkYellow));
                }
                if(mikeyInfoCode != 1) {// no key title
                    menuItemjn++;
                    menuItems.add(new myMenuItem("111", R.drawable.vec_openshare_yes, getResources().getString(R.string.fragNoteBookEdit_data), icolor_darkGreen));
                    menuItemjn++;
                    menuItems.add(new myMenuItem("222", R.drawable.comvec_delete, getResources().getString(R.string.fragPersonEdit_delete), icolor_darkRed));
                }
                if(!classblv && mselItem_DATAKIND != NoteBookIndex.ITEMTYPE_KEYDATA) {
                    menuItemjn++;
                    menuItems.add(new myMenuItem("555", R.drawable.comvec_picture, getResources().getString(R.string.fragmentClockin_menuSelPic), icolor_darkBlack));// 设置项目图片
                }
            }
            if(mselItem_DATAKIND != NoteBookIndex.ITEMTYPE_KEYDATA) {
                menuItemjn++;
                menuItems.add(new myMenuItem("333", R.drawable.comvec_add, getResources().getString(R.string.fragPersonEdit_addclass), icolor_darkBlue));
                menuItemjn++;
                menuItems.add(new myMenuItem("444", R.drawable.comvec_addcircle, getResources().getString(R.string.fragPersonEdit_additem), icolor_darkYellow));
            }
            menuItemjn++;
            menuItems.add(new myMenuItem("777", R.drawable.comvec_menu, getResources().getString(R.string.fragNoteBookTxt_ListForm), icolor_darkSky));
        }else{
            menuItemjn++;
            menuItems.add(new myMenuItem("666", R.drawable.comvec_undo, getResources().getString(R.string.fragNoteBookTxt_undelete), icolor_darkGreen));
            menuItemjn++;
            menuItems.add(new myMenuItem("333", R.drawable.comvec_add, getResources().getString(R.string.fragPersonEdit_addclass), icolor_darkBlue));
            menuItemjn++;
            menuItems.add(new myMenuItem("444", R.drawable.comvec_addcircle, getResources().getString(R.string.fragPersonEdit_additem), icolor_darkYellow));
            menuItemjn++;
            menuItems.add(new myMenuItem("777", R.drawable.comvec_menu, getResources().getString(R.string.fragNoteBookTxt_ListForm), icolor_darkSky));
         }
        menuItemjn++;
        menuItems.add(new myMenuItem("999", R.drawable.comshare_webcyber, getResources().getString(R.string.fragNoteBookTxt_selectModel),icolor_darkGreen));
        if(menuItemjn > 0) {
            int itxtcolorv = R.color.pmenucolor_black;
            mPopMenu
                    .setMenuBgColor(COMCONST.POPSUBMENUBG_COLOR)
                    .setMenuTxtColor(itxtcolorv)
                    .setWidth(0)      //默认宽度wrap_content
                    .showIcon(showIcon)     //显示菜单图标,默认为true
                    .dimBackground(dimBg)           //背景变暗,默认为true
                    .needAnimationStyle(needAnim)   //显示动画,默认为true
                    .addMenuList(menuItems, 0)
                    .setOnMenuItemClickListener(new bs60PopMenu.OnMenuItemClickListener() {
                        @Override
                        public void onMenuItemClick(int position, String menuName) {
                            String menuID = menuItems.get(position).getId();
                            if (menuID.equals("000")) {// key information
                                handler.sendEmptyMessage(KEYINFORMATION_EDITSET);
                            }
                            if (menuID.equals("111")) {// edit
                                mitemNewblv = false;
                                popwNoteBookData.mcurEditMode = popwNoteBookData.EDITMODE_UPDATE;
                                popwNoteBookData.mdlgTitleName = getResources().getString(R.string.fragNoteBookPopw_editData);
                                if(mikeyInfoCode == 2) {// key data
                                    handler.sendEmptyMessage(KEYINFORMATION_EDITSET);
                                }else{
                                    handler.sendEmptyMessage(TITLEITEMEDITPOPW);
                                }
                            }
                            if (menuID.equals("222")) {// delete select item
                                mitemNewblv = false;
                                popwNoteBookData.mcurEditMode = popwNoteBookData.EDITMODE_DELETE;
                                popwNoteBookData.mdlgTitleName = getResources().getString(R.string.fragNoteBookPopw_deleteItem);
                                if(mikeyInfoCode == 2) {// key data
                                    handler.sendEmptyMessage(KEYINFORMATION_DELETE);
                                }else {
                                    handler.sendEmptyMessage(TITLEITEMEDITPOPW);
                                }
                            }
                            if (menuID.equals("333")) {// append new Title
                                mitemNewblv = true;
                                popwNoteBookData.mcurEditMode = popwNoteBookData.EDITMODE_NEWCLASS;
                                popwNoteBookData.mdlgTitleName = getResources().getString(R.string.fragNoteBookPopw_newClass);
                                popwNoteBookData.mcurItemKind = popwNoteBookData.ITEMKIND_TITLE;
                                handler.sendEmptyMessage(TITLEITEMEDITPOPW);
                            }
                            if (menuID.equals("444")) {// append new data
                                mitemNewblv = true;
                                popwNoteBookData.mcurEditMode = popwNoteBookData.EDITMODE_NEWDATA;
                                popwNoteBookData.mdlgTitleName = getResources().getString(R.string.fragNoteBookPopw_newItem);
                                popwNoteBookData.mcurItemKind = popwNoteBookData.ITEMKIND_DATA;
                                handler.sendEmptyMessage(TITLEITEMEDITPOPW);
                            }
                            if (menuID.equals("555")) {// select set item picture
                                handler.sendEmptyMessage(SELECTSETITEMPICTURE);
                            }
                            if (menuID.equals("666")) {// cancel delete item
                                handler.sendEmptyMessage(HANDLEDELETE_CANCEL);
                            }
                            if (menuID.equals("777")) {// view List set
                                handler.sendEmptyMessage(POPWIN_VIEWLISTSET);
                            }
                            if (menuID.equals("888")) {// build model
                                handler.sendEmptyMessage(BUILDMODELPOPWIN);
                            }
                            if (menuID.equals("999")) {// select model
                                mwait_OnTimeLoopNum = 0;
                                handler.sendEmptyMessage(HANDLE_SELECTMODEL);
                            }
                        }
                    })
                    .showAsDropDown(mLayout_butMENU, 10, 0);
        }
    }

    private void processKeyInfo_Delete()
    {
        boolean cretblv = mListAdapter.deleteSelKeyItem(NoteBookIndex.curSelprojno);
        if(cretblv) {
            mListAdapter.build_IndexItemLst();
            NoteBookIndex.curSelprojno = mListAdapter.getCurIndexPosj(NoteBookData.iselectposj,NoteBookIndex.curSelprojno);
            mListAdapter.notifyDataSetChanged();
            NoteBookData.mDataChangeblv = true;
        }
    }

    private void processKeyInfo_Clear()
    {
        boolean cretblv = mListAdapter.appendUpdateKeyInfo(popwNoteBookData.mkeyInfoClearblv,false,-1,"");
        if(cretblv) {
            mListAdapter.build_IndexItemLst();
            NoteBookIndex.curSelprojno = mListAdapter.getCurIndexPosj(NoteBookData.iselectposj,NoteBookIndex.curSelprojno);
            mListAdapter.notifyDataSetChanged();
            NoteBookData.mDataChangeblv = true;
        }
    }

    private void processKeyInfo_Append()
    {
        boolean cretblv = mListAdapter.appendUpdateKeyInfo(popwNoteBookData.mkeyInfoClearblv,true,popwNoteBookData.mcurKeyInfoIDno,popwNoteBookData.mkeyInfo_curNote);
        popwNoteBookData.mkeyInfoClearblv = false;
         if(cretblv) {
            mListAdapter.build_IndexItemLst();
            String strTraceInfo = mListAdapter.getTraceInfo();//xxxxxxx
             NoteBookIndex.curSelprojno = mListAdapter.getCurIndexPosj(NoteBookData.iselectposj,NoteBookIndex.curSelprojno);
            mListAdapter.notifyDataSetChanged();
            NoteBookData.mDataChangeblv = true;
        }
    }

    private void processKeyInfo_Update()
    {
        boolean cretblv = mListAdapter.appendUpdateKeyInfo(popwNoteBookData.mkeyInfoClearblv,false,popwNoteBookData.mcurKeyInfoIDno,popwNoteBookData.mkeyInfo_curNote);
        if(cretblv) {
            mListAdapter.build_IndexItemLst();
            NoteBookIndex.curSelprojno = mListAdapter.getCurIndexPosj(NoteBookData.iselectposj,NoteBookIndex.curSelprojno);
            mListAdapter.notifyDataSetChanged();
            NoteBookData.mDataChangeblv = true;
        }

    }

    private void saveSetUpdateData()
    {
        if(mwait_OnTimeLoopNum == 0){
            mwait_OnTimeLoopNum++;
            mLayout_butMENU.setVisibility(View.INVISIBLE);
            mLayout_butFIND.setVisibility(View.INVISIBLE);
            mLayout_Radio.setVisibility(View.INVISIBLE);
             mtxt_winInfo.setText(getResources().getString(R.string.fragNoteBookTxt_Downloading));
        }
        if (COMCONST.mc_ontimeTaskLockblv) {
            systemBusyWaitThread startWait2 = new systemBusyWaitThread(handler, "WAITSAVE33", HANDLEUPDATE_SAVEDATA);
            Thread thread2 = new Thread(startWait2, "BusyWait33");
            thread2.start();
        }else {
            COMCONST.mc_ontimeTaskLockblv = true;
            mLayout_butMENU.setVisibility(View.INVISIBLE);
            mLayout_butFIND.setVisibility(View.INVISIBLE);
            mLayout_Radio.setVisibility(View.INVISIBLE);

            saveUpdateNoteBookData();
            mLayout_butMENU.setVisibility(View.VISIBLE);
            mLayout_butFIND.setVisibility(View.VISIBLE);
            mLayout_Radio.setVisibility(View.VISIBLE);
            COMCONST.mc_ontimeTaskLockblv = false;
            if(mBackSaveOperblv){
                mBackSaveOperblv = false;
                handler.sendEmptyMessage(NOTEBOOK_GOHOME);
            }
        }
    }

    private void saveUpdateNoteBookData()
    {
        int[] daparv = new int[18];
        byte[] tmpRbyteArr = new byte[366];
        int iStartIDno = 1;
        if(mListAdapter.mDaItemList.size() > 0 ) {
            for (int ji = 0; ji < mListAdapter.mDaItemList.size(); ji++) {
                if(mListAdapter.mDaItemList.get(ji).getItemDelMark() == NoteBookData.ITEMDELETE_YES) continue;
                int icIDno = mListAdapter.mDaItemList.get(ji).getItemIDno();
                if(icIDno >= iStartIDno) iStartIDno = icIDno+1;
            }
        }
        int iretcn = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_BAKFILE, daparv, -1, tmpRbyteArr, iStartIDno);
        if(iretcn > 0 && mListAdapter.mDaItemList.size() > 0 ){
            int itemposj = 0;
            for(int j = 0;j < mListAdapter.mDaItemList.size();j++){
                if(mListAdapter.mDaItemList.get(j).getItemDelMark() == NoteBookData.ITEMDELETE_YES) continue;
                tmpRbyteArr[0] = mListAdapter.mDaItemList.get(j).getDatakind();
                tmpRbyteArr[1] = mListAdapter.mDaItemList.get(j).getSelfpic();
                tmpRbyteArr[2] = mListAdapter.mDaItemList.get(j).getDateMonth();
                tmpRbyteArr[4] = mListAdapter.mDaItemList.get(j).getDateWeekno();
                tmpRbyteArr[3] = mListAdapter.mDaItemList.get(j).getDateDay();
                tmpRbyteArr[5] = mListAdapter.mDaItemList.get(j).getTimeHour();
                tmpRbyteArr[6] = mListAdapter.mDaItemList.get(j).getTimeMinute();
                tmpRbyteArr[7] = mListAdapter.mDaItemList.get(j).getTimeSecond();
                int iboffv = 8;
                daparv[0] = mListAdapter.mDaItemList.get(j).getDateYear();
                daparv[1] = mListAdapter.mDaItemList.get(j).getItemIDno();
                String strName = mListAdapter.mDaItemList.get(j).getItemName();
                byte[] byteName = strName.getBytes();
                int inamebn = byteName.length;
                if(inamebn > 120) inamebn = 120;
                daparv[2] = inamebn;
                if(inamebn > 0){
                    for(int jb = 0;jb < inamebn;jb++){
                        tmpRbyteArr[iboffv] = byteName[jb];
                        iboffv++;
                    }
                }
                String strNote = mListAdapter.mDaItemList.get(j).getItemNote();
                byte[] byteNote = strNote.getBytes();
                int inotebn = byteNote.length;
                if(inotebn > 120) inotebn = 120;
                daparv[3] = inotebn;
                if(inotebn > 0){
                    for(int jb = 0;jb < inotebn;jb++){
                        tmpRbyteArr[iboffv] = byteNote[jb];
                        iboffv++;
                    }
                }
                daparv[4] = mListAdapter.mDaItemList.get(j).getItemPasswd();
                daparv[5] = mListAdapter.mDaItemList.get(j).getItemAssetJno();
                int iretv = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_APPENDITEM, daparv, itemposj, tmpRbyteArr, iboffv);
                itemposj++;
                if(iretv < 0) break;
            }
            int iretv = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_APPENDEND, daparv, 0, tmpRbyteArr, 0);
        }
        // key information
        int icurKeyInfoNum = 0;
        if(mListAdapter.mDaKeyInfoList.size() > 0){
            for(int jk = 0;jk < mListAdapter.mDaKeyInfoList.size();jk++){
                daparv[0] = mListAdapter.mDaKeyInfoList.get(jk).getKeyInfoIDno();
                String strKeyinfo = mListAdapter.mDaKeyInfoList.get(jk).getKeyInfoNote();
                byte[] byteKeyinfo = strKeyinfo.getBytes();
                int ikeyInfobn = byteKeyinfo.length;
                if(ikeyInfobn > 120) ikeyInfobn = 120;
                daparv[1] = ikeyInfobn;
                int iboffv = 0;
                if(ikeyInfobn > 0){
                    for(int jb = 0;jb < ikeyInfobn;jb++){
                        tmpRbyteArr[iboffv] = byteKeyinfo[jb];
                        iboffv++;
                    }
                }
                int iretv = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_KEYINFOUPDATE, daparv, jk, tmpRbyteArr, iboffv);
                if(iretv < 0) break;
                icurKeyInfoNum++;
            };
        }
        daparv[0] = icurKeyInfoNum;
        int iretv = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_KEYINFOUPDATE, daparv, KEYINFOCODE_SAVE, tmpRbyteArr, 0);
        String strInfoj = getResources().getString(R.string.fragNoteBookTxt_dataSaved);
        mtxt_winInfo.setText(strInfoj);
        NoteBookData.mDataChangeblv = false;
    }
    
    private void webDataLst_DownloadCheck() {
        if(mwait_OnTimeLoopNum == 0){
            mwait_OnTimeLoopNum++;
            mLayout_butMENU.setVisibility(View.INVISIBLE);
            mLayout_butFIND.setVisibility(View.INVISIBLE);
            mLayout_Radio.setVisibility(View.INVISIBLE);
            mtxt_winInfo.setTextColor(Color.BLUE);
            mtxt_winInfo.setText(getResources().getString(R.string.fragNoteBookTxt_Downloading));
        }
        if (COMCONST.mc_ontimeTaskLockblv) {
            commonBusyWaitThread startWait = new commonBusyWaitThread(handler, "WAITSAVE61", WEBMODELDALST_DLOADCHK, 600);
            Thread thread = new Thread(startWait, "BusyWait61");
            thread.start();
        } else {
            COMCONST.mc_ontimeTaskLockblv = true;
            int[] ipdarv = new int[8];
            byte[] RbyteArr = new byte[266];
            int iretcn = ActEventDataClass.JavaJNIgetComModelLstItem(COMMODEL_DLOADLSTSAVEFILE,ipdarv ,COMMODELKIND_NOTEBOOK,RbyteArr,260);
            if(iretcn > 0) {
                dloadModelWebSavePathfile = new String(RbyteArr,0,iretcn);
                downLoadThread = new Thread(downloadSaveModelLstRunnable);
                downLoadThread.start();
            }else{
                mwinTxtInfoColor = Color.YELLOW;
                Message msg = new Message();
                msg.what = RESTOREOPERFACE;
                msg.obj = "---";
                handler.sendMessage(msg);
            }
        }
    }

    private void parseMode_updateDataLst() {
        mtxt_winInfo.setTextColor(Color.BLUE);
        mtxt_winInfo.setText(getResources().getString(R.string.fragNoteBookTxt_parseModelLst));
        byte[] tmpRbyteArr = new byte[388];
        int[] daparv = new int[18];
        int iretFileNum = ActEventDataClass.JavaJNIgetComModelLstItem(COMMODEL_PARSEDATAITEM, daparv, COMMODELKIND_NOTEBOOK, tmpRbyteArr, 380);
        if (iretFileNum < 2) {
            mwinTxtInfoColor = Color.YELLOW;
            Message msg = new Message();
            msg.what = RESTOREOPERFACE;
            msg.obj = getResources().getString(R.string.fragNoteBookTxt_modelDataErr);
            handler.sendMessage(msg);
            return;
        }
        //
        mListAdapter.mDaKeyInfoList.clear();
        mListAdapter.mDaItemList.clear();
        mrecordItemIDno = 1;
        int iretItemNum = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_GETLSTNUM, daparv, -1, tmpRbyteArr, 380);
        if(iretItemNum >= 0){
            NoteBookData.mcurItemMode = tmpRbyteArr[0];
            int icol1Namecn = daparv[1];
            int iboffv = 1;
            if (icol1Namecn > 0) {
                NoteBookData.mcustom_Col1Name = new String(tmpRbyteArr, iboffv, icol1Namecn);
                iboffv = iboffv + icol1Namecn;
                mcol1_nameTitle.setText(NoteBookData.mcustom_Col1Name);
            }
            int icol2Notecn = daparv[2];
            if (icol2Notecn > 0) {
                NoteBookData.mcustom_Col2Note = new String(tmpRbyteArr, iboffv, icol2Notecn);
                iboffv = iboffv + icol2Notecn;
                mcol2_noteTitle.setText(NoteBookData.mcustom_Col2Note);
            };
        }
        if (iretItemNum > 0) {
            for(int jrec = 0;jrec < iretItemNum;jrec++) {
                int iretcn = ActEventDataClass.JavaJNIgetSetNoteBookItem(NOTEBOOK_DATAITEM, daparv, jrec, tmpRbyteArr, 180);
                if (iretcn < 0) break;
                if (iretcn <= 0) continue;
                int ioffv = 0;
                byte dakindc = tmpRbyteArr[ioffv];
                ioffv++;
                byte selfpic = tmpRbyteArr[ioffv];
                ioffv++;
                byte bassetno = tmpRbyteArr[ioffv];
                ioffv++;
                byte bmonth = tmpRbyteArr[ioffv];
                ioffv++;
                byte bday = tmpRbyteArr[ioffv];
                ioffv++;
                byte bweekno = tmpRbyteArr[ioffv];
                ioffv++;
                byte bhour = tmpRbyteArr[ioffv];
                ioffv++;
                byte bmin = tmpRbyteArr[ioffv];
                ioffv++;
                byte bsec = tmpRbyteArr[ioffv];
                ioffv++;

                int icyear = daparv[0];
                int itemIDno = daparv[1];
                int inamebn = daparv[2];
                int inotebn = daparv[3];
                int ipasswd = daparv[4];
                String strName = "";
                if (inamebn > 0 && inamebn < 50) {
                    strName = new String(tmpRbyteArr, ioffv, inamebn);
                    ioffv = ioffv + inamebn;
                }
                String strNote = "";
                if (inotebn > 0 && inotebn < 120) {
                    strNote = new String(tmpRbyteArr, ioffv, inotebn);
                    ioffv = ioffv + inotebn;
                }
                NoteBookData itemdata = new NoteBookData();
                itemdata.setByteParaItem(dakindc, selfpic, NoteBookData.TITLESTATUS_CLOSE);
                itemdata.setItemDateTime(icyear, bmonth, bweekno, bday, bhour, bmin, bsec);
                itemdata.setItemAssetJno((int) bassetno);
                itemdata.setItemIDno(itemIDno);
                if (mrecordItemIDno <= itemIDno && itemIDno > 0) mrecordItemIDno = itemIDno + 1;
                itemdata.setItemName(strName);
                itemdata.setItemNote(strNote);
                itemdata.setItemPasswd(ipasswd);
                mListAdapter.mDaItemList.add(itemdata);
            }
        }
        NoteBookIndex.curSelprojno = -1;
        NoteBookData.iselectposj = -1;
        mListAdapter.build_IndexItemLst();
        mListAdapter.notifyDataSetChanged();
        mwinTxtInfoColor = Color.WHITE;
        Message msg = new Message();
        msg.what = RESTOREOPERFACE;
        msg.obj = "---";
        handler.sendMessage(msg);
    }

    private void ModelExample_popwDownloadCheck()
    {
        mpopw_butCtrl = 0;
        mtxt_winInfo.setText("...");
        String strInfoj1 = mContext.getResources().getString(R.string.fragNoteBookPopw_modelDload);
        String strDlgTitle = mContext.getResources().getString(R.string.popupwin_Dlgtitle);
        strInfoj1 = strInfoj1 +popwModelDlg.mselModelInfo+" ?";
        PopupWindowDlg curDlg = new PopupWindowDlg((Activity) mContext,strInfoj1,strDlgTitle,PopupWindowDlg.COMMONITEMWIN);
        curDlg.setOnWinButtonClickListener(new PopupWindowDlg.OnWinButtonClickListener(){
            @Override
            public void onWindButtonClick(int butcd, String menuName) {
                if(butcd == 9) {
                    mpopw_butCtrl = 9;
                    mwait_OnTimeLoopNum = 0;
                    handler.sendEmptyMessage(HANDLE_DOWNLOADMODELEXAMPLE);
                }else{
                    if(mpopw_butCtrl == 0) {
                        mwinTxtInfoColor = Color.WHITE;
                        Message msg = new Message();
                        msg.what = RESTOREOPERFACE;
                        msg.obj = "---";
                        handler.sendMessage(msg);
                    }
                }
            };
        });
        curDlg.showAtScreen(mLayout_butMENU,COMCONST.LocationType.PARENT_CENTER);;
    }

    private void webModelExample_DownloadCheck() {
        mtxt_winInfo.setText(getResources().getString(R.string.fragNoteBookTxt_Downloading));
        int[] ipdarv = new int[8];
        byte[] RbyteArr = new byte[366];
        int iretcn = ActEventDataClass.JavaJNIgetComModelLstItem(COMMODEL_DLOADEXAMPLESAVEFILE,ipdarv ,COMMODELKIND_NOTEBOOK,RbyteArr,360);
        if(iretcn > 0) {
             dloadModelWebSavePathfile = new String(RbyteArr,0,iretcn);
             downLoadThread = new Thread(downloadComModelExampleRunnable);
             downLoadThread.start();
        }else{
             mLayout_butMENU.setVisibility(View.VISIBLE);
             mLayout_butFIND.setVisibility(View.VISIBLE);
             mLayout_Radio.setVisibility(View.VISIBLE);
             mtxt_winInfo.setTextColor(Color.BLUE);
             mtxt_winInfo.setText(getResources().getString(R.string.fragNoteBookTxt_modelLstErr));
             COMCONST.mc_ontimeTaskLockblv = false;
        }
    }

    class commonBusyWaitThread implements Runnable {
        Handler mTHandler;
        String waitNo;
        int iWHATval = -1;
        int iWaitMilliSecond = 1000;

        public commonBusyWaitThread(Handler handler, String waitName, int iWhatv, int iWaitTimems) {
            this.mTHandler = handler;
            this.waitNo = waitName;
            this.iWHATval = iWhatv;
            this.iWaitMilliSecond = iWaitTimems;
            if (iWaitTimems < 120) this.iWaitMilliSecond = iWaitTimems * 1000;
        }

        @Override
        public void run() {
            synchronized (waitNo) {
                try {
                    Thread.sleep(iWaitMilliSecond);// 1.5 second
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                Message msg = new Message();
                msg.what = iWHATval;
                handler.sendMessage(msg);
            }
        }
    }
    
    class systemBusyWaitThread implements Runnable {
        Handler mTHandler;
        String waitNo;
        int iWHATval = -1;
        int iWaitSeconds = 0;
        public systemBusyWaitThread(Handler handler,String waitName,int iWhatv)
        {
            this.mTHandler = handler;
            this.waitNo = waitName;
            this.iWHATval = iWhatv;
            iWaitSeconds = COMCONST.ONTIMETASKWAIT;
        }

        public systemBusyWaitThread(Handler handler,String waitName,int iWhatv,int iwaitSecNum)
        {
            this.mTHandler = handler;
            this.waitNo = waitName;
            this.iWHATval = iWhatv;
            if(iwaitSecNum < 120) {
                iWaitSeconds = iwaitSecNum*1000;
            }else{
                iWaitSeconds = iwaitSecNum;
            }
        }

        @Override
        public void run() {
            synchronized (waitNo) {
                try {
                    Thread.sleep(iWaitSeconds);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                handler.sendEmptyMessage(iWHATval);
            }
        };
    }

    private Runnable downloadSaveModelLstRunnable = new Runnable() {
        @Override
        public void run() {
            boolean errorBlv = false;
            try {
                URL url = new URL(COMCONST.msWebNotebookLst);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.connect();
                int length = conn.getContentLength();
                InputStream is = conn.getInputStream();
                File webAddrFile = new File(dloadModelWebSavePathfile);
                FileOutputStream fos = new FileOutputStream(webAddrFile);
                int count = 0;
                byte buf[] = new byte[1024];
                do {
                    int numread = is.read(buf);
                    count += numread;
                    if (numread <= 0) {
                        //下载完成通知安装
                        handler.sendEmptyMessage(DOWNLOADMODELLST_SUCESS);
                        break;
                    }
                    fos.write(buf, 0, numread);
                } while (true);
                fos.close();
                is.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
                errorBlv = true;
            } catch (IOException e) {
                e.printStackTrace();
                errorBlv = true;
            }
            if (errorBlv) {
                handler.sendEmptyMessage(DOWNLOAD_FALTURE);
            }
        }
    };

    private Runnable downloadComModelExampleRunnable = new Runnable() {
        @Override
        public void run() {
            String strInfoj1 = popwModelDlg.mselModelInfo+" >> "+mContext.getResources().getString(R.string.fragNoteBookTxt_Downloading);
            mtxt_winInfo.setText(strInfoj1);
            boolean errorBlv = false;
            try {
                URL url = new URL(comModelDownloadUrl);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.connect();
                int length = conn.getContentLength();
                InputStream is = conn.getInputStream();
                File downloadSaveFile = new File(dloadModelWebSavePathfile);
                FileOutputStream fos = new FileOutputStream(downloadSaveFile);
                int count = 0;
                byte buf[] = new byte[1024];
                do {
                    int numread = is.read(buf);
                    count += numread;
                    if (numread <= 0) {
                        //下载完成通知安装
                        handler.sendEmptyMessage(DLOADMODELEXAMPLE_SUCESS);
                        break;
                    }
                    fos.write(buf, 0, numread);
                } while (true);
                fos.close();
                is.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
                errorBlv = true;
            } catch (IOException e) {
                e.printStackTrace();
                errorBlv = true;
            }
            if (errorBlv) {
                handler.sendEmptyMessage(DOWNLOAD_FALTURE);
            }
        }
    };

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == REQUESTCODE_PICTURE) {
            if (resultCode != RESULT_OK) {
                // m_title.setText("!= RESULT_OK");//xxxxxxx
                return;
            }
            if (data != null) {
                /** 取参 */
                int param = data.getIntExtra("RETVAL", 0);
                if(param == 111){
                    mcurAssetJno = -1;
                    mwait_OnTimeLoopNum = 0;
                    handler.sendEmptyMessage(UPDATESETITEMPICTURE);
                }else{
                    if(param > 1000){
                        mcurAssetJno = param - 1000;
                        mwait_OnTimeLoopNum = 0;
                        handler.sendEmptyMessage(UPDATESETITEMPICTURE);
                    }
                }
            }
        }
    }

    // 设置 接口回调 方法
    public void sendMessage(ICallBack callBack){
        this.callback = callBack;

    }
    //Receive message - activity to fragment
    public void receiveMsg(int msgcd,String msg) {
        if (msgcd == NoteBookData.UPDATESAVEITEMDATA) {
            if(NoteBookData.mDataChangeblv){
                mBackSaveOperblv = true;
                mwait_OnTimeLoopNum = 0;
                saveSetUpdateData();
            }
        }
    }
}

B), Layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/fragNoteBookColor_bkg"
    tools:context="com.bi3eview.newstart60.local.notebook.FragmentNoteBook">
    <LinearLayout
        android:gravity="center"
        android:id="@+id/top_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="3dp"
        android:paddingBottom="3dp"
        android:layout_marginLeft="3dp"
        android:layout_marginRight="3dp"
        android:orientation="horizontal"
        android:weightSum="100">
        <LinearLayout
            android:id="@+id/Layoutbut_MARK"
            android:layout_width="0dp"
            android:layout_height="36dp"
            android:gravity="center"
            android:layout_weight="10"
            android:orientation="horizontal">
            <ImageView
                android:id="@+id/img_markL"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="10"
                android:gravity="right"
                android:tint="#FF555500"
                android:src="@drawable/comvec_ring"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="36dp"
            android:gravity="center"
            android:layout_weight="2"
            android:orientation="horizontal">
        </LinearLayout>
        <LinearLayout
            android:id="@+id/Layoutbut_winInfo"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="87"
            android:orientation="horizontal">
            <TextView
                android:id="@+id/topwin_info"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="left"
                android:textColor="@color/tableheadColor1_topvtxt"
                android:text=""
                android:textSize="@dimen/timetaskbut_text"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="36dp"
            android:gravity="center"
            android:layout_weight="1"
            android:orientation="horizontal">
        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:gravity="center"
        android:layout_below="@+id/top_view"
        android:id="@+id/menubutton_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="3dp"
        android:paddingBottom="3dp"
        android:layout_marginLeft="3dp"
        android:layout_marginRight="3dp"
        android:orientation="horizontal"
        android:weightSum="100">
        <LinearLayout
            android:id="@+id/Layoutbut_MENU"
            android:layout_width="0dp"
            android:layout_height="36dp"
            android:gravity="center"
            android:layout_weight="10"
            android:orientation="horizontal">
            <ImageView
                android:id="@+id/imgbut_mparMENU"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="10"
                android:gravity="center"
                android:tint="#FF22dd22"
                android:src="@drawable/comvec_addcircle"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="36dp"
            android:gravity="center"
            android:layout_weight="1"
            android:orientation="horizontal">
        </LinearLayout>
        <LinearLayout
            android:id="@+id/Layoutbut_EDIT"
            android:layout_width="0dp"
            android:layout_height="36dp"
            android:gravity="left|center_vertical"
            android:layout_weight="31"
            android:orientation="horizontal">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="left"
                android:text=" "
                android:textSize="12dp"
                />
            <EditText
                android:text=""
                android:id="@+id/edtTxt_find"
                android:maxLength="40"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:saveEnabled="false"
                android:singleLine="true"
                android:gravity="left|center_vertical"
                android:textAppearance="@android:style/TextAppearance.Medium"
                android:textSize="@dimen/fragNoteBookFntsize_editTxt"
                android:textColor="@color/fragNoteBookColor_editTxt"
                >
            </EditText>
        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="36dp"
            android:gravity="center"
            android:layout_weight="1"
            android:orientation="horizontal">
        </LinearLayout>
        <LinearLayout
            android:id="@+id/Layoutbut_FIND"
            android:layout_width="0dp"
            android:layout_height="32dp"
            android:gravity="center"
            android:layout_weight="25"
            android:background="@drawable/combutton_layoutbg"
            android:orientation="horizontal">
            <ImageView
                android:id="@+id/imgfind_icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="10"
                android:gravity="right"
                android:tint="@color/green"
                android:src="@drawable/comvec_query"
                />
            <TextView
                android:id="@+id/txtfind_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="left"
                android:layout_weight="15"
                android:textColor="@color/fragNoteBookColor_butTxt"
                android:text="@string/fragNoteBookTxt_findBut"
                android:textSize="@dimen/fragNoteBookFntsize_butTxt"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="36dp"
            android:gravity="center"
            android:layout_weight="1"
            android:orientation="horizontal">
        </LinearLayout>
        <LinearLayout
            android:id="@+id/Layoutbut_FINDradio"
            android:layout_width="0dp"
            android:layout_height="32dp"
            android:gravity="center"
            android:layout_weight="25"
            android:orientation="horizontal">
            <com.bi3eview.newstart60.local.SelfWidget.threeRadioImageView
                android:id="@+id/imgfindradio_icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="10"
                android:gravity="right"
                android:tint="@color/black"
                android:src="@drawable/comvec_radiono"
                />
            <TextView
                android:id="@+id/txtfinditem_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="left"
                android:layout_weight="15"
                android:textColor="@color/fragNoteBookColor_butTxt"
                android:text="@string/fragNoteBookTxt_findAll"
                android:textSize="@dimen/fragNoteBookFntsize_butTxt"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="36dp"
            android:gravity="center"
            android:layout_weight="1"
            android:orientation="horizontal">
        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/CVIEWLayout_headline"
        android:layout_below="@+id/menubutton_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="3dp"
        android:orientation="horizontal"
        android:background="@color/timetaskColor_cviewTitlebg"
        android:weightSum="100"
        >
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="---"
            android:gravity="center"
            android:layout_weight="7"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="---"
            android:gravity="center"
            android:layout_weight="7"
            />
        <TextView
            android:id="@+id/col1_titleName"
            android:layout_width="0dp"
            android:layout_height="25dp"
            android:gravity="center"
            android:layout_weight="35"
            android:textColor="@color/fragNoteBookItemColor_name"
            android:textSize="@dimen/timetaskCView_title"
            android:text="@string/fragNoteBookTxt_colName"
            />
        <TextView
            android:id="@+id/col2_titleNote"
            android:layout_width="0dp"
            android:layout_height="25dp"
            android:gravity="center"
            android:layout_weight="30"
            android:textColor="@color/fragNoteBookItemColor_note"
            android:textSize="@dimen/timetaskCView_title"
            android:text="@string/fragNoteBookTxt_colNote"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="25dp"
            android:gravity="center"
            android:layout_weight="20"
            android:textColor="@color/cybersetColor_RecViewtitle"
            android:textSize="@dimen/timetaskCView_title"
            android:text="---"
            />
        <TextView
            android:id="@+id/txtview_cyberkd"
            android:layout_width="0dp"
            android:layout_height="25dp"
            android:gravity="center"
            android:layout_weight="1"
            android:textColor="@color/cybersetColor_RecViewtitle"
            android:textSize="@dimen/timetaskCView_title"
            />
    </LinearLayout>
    <android.support.v4.widget.SwipeRefreshLayout
        android:layout_below="@+id/CVIEWLayout_headline"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/fragNoteBookItemColor_cardbkg"
        android:id="@+id/swipeRefreshLayout">
        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView_web"
            android:background="@color/fragNoteBookItemColor_cardbkg"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </android.support.v4.widget.SwipeRefreshLayout>
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/progress_bar"
        android:layout_centerInParent="true"/>
</RelativeLayout>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

newstart60

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值