热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android编程之listView中checkbox用法实例分析

Android编程之listView中checkbox用法实例分析-本文实例讲述了Android编程之listView中checkbox用法。分享给大家供大家参考,具体如下:我们经

本文实例讲述了Android编程之listView中checkbox用法。分享给大家供大家参考,具体如下:

我们经常会用到在listView中使用checkbox的情况。直接不回应用后会发现,ListView中的OnItemClickListener事件会和checkbox中的选择事件发生冲突,这个怎么处理呢。直接上代码。

list_item.xml代码:



  
  

BaseAdapter.java代码:

package cg.guangda.androidnote;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cg.guangda.androidnote.Model.noteTag;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.TextView;
public class Add_note_tag_list_BaseAdapter extends BaseAdapter {
  private LayoutInflater inflater;
  private List list_notetag_date;
  //定义多选框是否被选中
  public static Map isSelected;
  public Add_note_tag_list_BaseAdapter(Context context,List list_notetag_date)
  {
    this.inflater = LayoutInflater.from(context);
    this.list_notetag_date = list_notetag_date;
    //这儿定义isSelected这个map是记录每个listitem的状态,初始状态全部为false。
    isSelected = new HashMap();
    for (int i = 0; i 

应用页面:

list_popwin_note_tag.setAdapter(new Add_note_tag_list_BaseAdapter(this, list_noteTag_date));
list_popwin_note_tag.setOnItemClickListener(new noteTagListItemOnClickListener());
/**
* 点击列表项事件
* @author cg
*
*/
class noteTagListItemOnClickListener implements OnItemClickListener{
    @Override
    public void onItemClick(AdapterView arg0, View view, int position,
        long arg3) {
      // TODO Auto-generated method stub
      add_note_noteTag vHollder = (add_note_noteTag) view.getTag();
      //在每次获取点击的item时将对于的checkbox状态改变,同时修改map的值。
      vHollder.chk_add_note_tag_list_chk.setChecked(vHollder.chk_add_note_tag_list_chk.isChecked()==true ? false : true);
      boolean check = vHollder.chk_add_note_tag_list_chk.isChecked();
      Add_note_tag_list_BaseAdapter.isSelected.put(position, check);
      Log.v("noteTagListItemOnClickListener", list_noteTag_date.get(position).get_tagName() + check);
    }
}

希望本文所述对大家Android程序设计有所帮助。


推荐阅读
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文探讨了如何利用 Android 的 Movie 类来展示 GIF 动画,并详细介绍了调整 GIF 尺寸以适应不同布局的方法。同时,提供了相关的代码示例和注意事项。 ... [详细]
  • Android ListView 自定义 CheckBox 实现列表项多选功能详解
    本文详细介绍了在Android开发中如何在ListView的每一行添加CheckBox,以实现列表项的多选功能。用户不仅可以通过点击复选框来选择项目,还可以通过点击列表的任意一行来完成选中操作,提升了用户体验和操作便捷性。同时,文章还探讨了相关的事件处理机制和布局优化技巧,帮助开发者更好地实现这一功能。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • td{border:1pxsolid#808080;}参考:和FMX相关的类(表)TFmxObjectIFreeNotification ... [详细]
  • 使用 Mui.js 获取复选框值的方法
    本文介绍如何使用 Mui.js 框架来获取复选框的值,并通过数组进行处理和展示。 ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 优化升级版数据采集与赋值方法,专为前文内容设计
    在前一篇文章中,方法的局限性主要体现在需要传递参数,并且参数数量受限。当页面布局与所需参数不匹配时,该方法将无法正常工作。为此,我们推出了优化升级版1.1,旨在解决这些问题并提高灵活性和适用性。 ... [详细]
  • 本文详细介绍了如何在PyQt5中创建简易对话框,包括对话框的基本结构、布局管理以及源代码实现。通过实例代码,展示了如何设置窗口部件、布局方式及对话框的基本操作。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • MVC模式下的电子取证技术初探
    本文探讨了在MVC(模型-视图-控制器)架构下进行电子取证的技术方法,通过实际案例分析,提供了详细的取证步骤和技术要点。 ... [详细]
  • 本文基于Java官方文档进行了适当修改,旨在介绍如何实现一个能够同时处理多个客户端请求的服务端程序。在前文中,我们探讨了单客户端访问的服务端实现,而本篇将深入讲解多客户端环境下的服务端设计与实现。 ... [详细]
  • 使用jqTransform插件美化表单
    jqTransform 是由 DFC Engineering 开发的一款 jQuery 插件,专用于美化表单元素,操作简便,能够美化包括输入框、单选按钮、多行文本域、下拉选择框和复选框在内的所有表单元素。 ... [详细]
  • 本文探讨了如何在C#应用程序中通过选择ComboBox项从MySQL数据库中检索数据值。具体介绍了在事件处理方法 `comboBox2_SelectedIndexChanged` 中可能出现的常见错误,并提供了详细的解决方案和优化建议,以确保数据能够正确且高效地从数据库中读取并显示在界面上。此外,还讨论了连接字符串的配置、SQL查询语句的编写以及异常处理的最佳实践,帮助开发者避免常见的陷阱并提高代码的健壮性。 ... [详细]
author-avatar
mobiledu2502917563
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有