如何理解SparseBooleanArray
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章给大家介绍如何理解SparseBooleanArray,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。项目过程中,常常会遇到多选列表的问题。问题不麻烦,但似乎每一次的实现都
千家信息网最后更新 2025年02月02日如何理解SparseBooleanArray
这篇文章给大家介绍如何理解SparseBooleanArray,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
项目过程中,常常会遇到多选列表的问题。问题不麻烦,但似乎每一次的实现都不一样,或者说不规范吧。之前一直使用的HashMap
SparseBooleanArray是android提供的工具类,有人翻译成"稀疏数组"。是专门为手机这种内存资源稀缺的平台提供的 。根据其源代码,在数量不多的情况下,相比HashMap
public class MyAdapter extends ArrayAdapter{ private Context mContext; private List mData; private SparseBooleanArray selectList = new SparseBooleanArray(); MyAdapter(@NonNull Context context, @LayoutRes int resource, @NonNull List objects) { super(context, resource, objects); this.mContext = context; this.mData = objects; initSelectList(); } @NonNull @Override public View getView(final int position, @Nullable View convertView, @NonNull ViewGroup parent) { if (convertView == null){ convertView = LayoutInflater.from(mContext).inflate(R.layout.item_choice, parent, false); } TextView text = (TextView) convertView.findViewById(R.id.text); CheckBox box = (CheckBox) convertView.findViewById(R.id.checkbox); text.setText(getItem(position)); box.setChecked(selectList.get(position)); box.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { selectList.put(position, isChecked); } }); return convertView; } void initSelectList() {//全部取消选中 for (int i = 0; i < mData.size(); i++) { selectList.put(i, false); } notifyDataSetChanged(); } void checkAll(){//全选 for (int i = 0; i < mData.size(); i++) { selectList.put(i, true); } notifyDataSetChanged(); } void reverse(){//反选 for (int i = 0; i < mData.size(); i++) { if (selectList.get(i)){ selectList.put(i, false); }else{ selectList.put(i, true); } } notifyDataSetChanged(); } SparseBooleanArray getSelectedList(){ return selectList; }}
关于如何理解SparseBooleanArray就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
内容
情况
更多
知识
索引
问题
帮助
不错
稀疏
稀缺
浮躁
天时地利人和
二分法
人和
兴趣
内存
地利
地步
天时
小伙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发合同逾期怎么办
卤股票软件开发
办公网络安全自查
二级数据库设计自然链接
智能软件开发培训
网络安全防范现状是什么
学习网络安全的必要性
软件开发未来人生规划
2022怀旧服服务器人口普查
安徽工业软件开发哪家可靠
数据库中表过大的影响
数据库有多少g
区块链和网络安全如何监管
软件开发okr绩效考评表
中国科研软件开发问题
无状态数据库设计
数据库设计软件navicate
微软数据库认证考试
丐邦网络技术
系统 网络 数据库 安全
软件开发要交印花税
交互式电子技术手册数据库
千人基因组计划数据库
深圳软件开发者平台
现在如何收钱服务器不会查
服务器设置没有任何反应
数据库邮件测试
hp服务器远程管理密码
云服务器 小白
提高网络安全的政治站位