zoukankan      html  css  js  c++  java
  • selectAll, unSelectAll两个操作的实现

    private void updateBatchSelectionStatus() {
        ContactListAdapter.ViewHolder viewHolder = null;
        TxrjContact contact = null;
        int size = mContacts.size();
        boolean select = (getSelectCount() == mContacts.size() ? true : false);
        for(int i=0;i<size;i++){
            viewHolder = (ContactListAdapter.ViewHolder)mListView.getChildAt(i).getTag();
            contact = mContacts.get(i);
            contact.setSelected(select);
            viewHolder.select
                    .setImageBitmap(select ? mListAdapter.checkBox
                            : mListAdapter.unCheckBox);
        }
    }

    红色语句出现空指针异常,原因分析:

    mContacts可能有100个TxrjContact,但是mListView不可能一下子有100个child,每次只显示可视区域中的几个view。

    将以上方法改写成

    private void updateBatchSelectionStatus() {
        int size = mContacts.size();
        boolean select = (getSelectCount() != mContacts.size() ? true : false);
        for(int i=0;i<size;i++){
            mContacts.get(i).setSelected(select);
            mListAdapter.notifyDataSetChanged();
        }
    }

    再执行就符合预期效果

    点击事件处理程序

    } else if(v == mSelectAll) {
        updateBatchSelectionStatus();
        updateSelectButtonText();
    }

  • 相关阅读:
    8、SpringBoot-CRUD默认访问的首页以及thyleaf的静态文件引入/WebMvcConfigurer / WebMvcConfigurationSupport
    7、springmvc的自动配置
    6、模板引擎
    5.对静态资源映射的规则
    文件的上传和下载
    python file operation
    python sys.argv[]
    python pydoc
    python compile
    python exec
  • 原文地址:https://www.cnblogs.com/fengzhblog/p/3188896.html
Copyright © 2011-2022 走看看