经过度娘的法力,还有不断的尝试。终于,使用SimpleAdapter为listview的数据源来添加复选框和按钮实现了。
很多人都是自定义一个adapter继承自baseadapter的。当时刚开始使用的是SimpleAdapter,再写继承感觉很麻烦,改动很大。
经过不懈的努力,最终,添加了一些代码,使得想要的得以出现。分享了:
首先listview。xml文件。这里就不写全了,前面有篇文章里面有全的。
添加复选框
<CheckBox android:id="@+id/listDeleteCheckBox" android:layout_width="30px" android:layout_height="wrap_content" android:focusable="false" ---如果想要实现单击item监听,并且实现复选框监听,必须设置此行 android:visibility="visible" --visible 显示复选框,gone隐藏并且不占位置 android:clickable="true" />
下面是java代码,我继承的是原生态的activity
声明一个button就不写了
oncreate方法
deleBox = (CheckBox)findViewById(R.id.listDeleteCheckBox);
sAdapte = new SimpleAdapter(MainActivity.this, data, R.layout.listview, new String[]{"id","firstName","lastName","email"}, new int[]{R.id.ids,R.id.firstName,R.id.lastName,R.id.email}){ @Override public View getView(final int position, View convertView,ViewGroup parent) { //获取相应的view中的checkbox对象 if(convertView == null) convertView = View.inflate(MainActivity.this, R.layout.listview, null); CheckBox checkBox = (CheckBox)convertView.findViewById(R.id.listDeleteCheckBox); //添加单击事件,在map中记录 //通过判断checkbox是否被选中来确定联系人是否被放在names和number两个数组中,或者使用CompoundButton.OnCheckedChangeListener checkBox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(((CheckBox)v).isChecked()){ Toast.makeText(MainActivity.this,"选中了"+position,0).show(); System.out.println("-----------------"); }else{ } } }); return super.getView(position, convertView, parent); } };
完成了。
上图:
相关推荐
本教程将详细讲解如何在ListView中实现带可全选、全不选以及删除功能的复选框(Checkbox),确保在操作过程中列表项不会错位。 一、ListView的基本使用 1. 创建ListView:首先,在布局文件中添加ListView控件,并...
- 复选框或切换按钮:使用CheckedTextView或自定义View,实现多选功能。 - 分割线:通过设置divider和dividerHeight属性添加,或自定义View实现。 7. **动画效果**: - 进入/退出动画:使用Animation类为...
SimpleAdapter可以定义各种各样的布局出来,可以放上ImageView(图片)、Button(按钮)、CheckBox(复选框)等等。 BaseAdapter是开发中最常用的适配器,ArrayAdapter、SimpleAdapter都继承于BaseAdapter。...
在每个列表项布局中,我们可以设置一个复选框(CheckBox)或者单选按钮(RadioButton),用于显示选中状态。 单选实现的核心在于RadioGroup和RadioButton的配合。RadioGroup是一个可以包含多个RadioButton的容器,...
Android SDK提供了几种预定义的Row Layout,如`simple_list_item_1`(单行文本),`simple_list_item_2`(标题和文本),`simple_list_item_single_choice`(单选按钮),`simple_list_item_multiple_choice`(多选...
Android提供了丰富的UI组件,如TextView(文本视图)、EditText(可编辑文本)、Button(按钮)、ImageView(图像视图)、CheckBox(复选框)和RadioButton(单选按钮)等。这些组件可以组合使用,构建出各种用户...
理解其内部的工作原理有助于我们定制更复杂的复选逻辑,例如实现多选列表或自定义复选框样式。 2. **Canvas画布**:Canvas是Android图形绘制的基础,允许开发者在屏幕上绘制任意形状和图像。4-7-2章节可能讲解了...
- 添加一个“全选”按钮或复选框,当用户点击时,遍历ListView的所有可见项,根据`isAllSelected`状态改变每个CheckBox的状态。 - 当CheckBox的状态改变时,需要更新`isAllSelected`的值,并可能需要同步更新其他...
单选框、复选框、开关状态按钮 69 单项选择(RadioGroup、RadioButton) 69 复选框(CheckBox) 71 开关状态按钮(ToggleButton) 73 下拉列表框Spinner 74 ScrollView、HorizontalScrollView 77 垂直滚动(ScrollView) ...
例如,`main.xml`布局文件展示了包含图片、大文本、小文本、按钮和复选框的复杂布局,为后续的适配器提供了丰富的素材。 2. **编写自定义适配器类**:继承自`BaseAdapter`或基于现有的适配器类(如`ArrayAdapter`...
2. 设计用户界面:包括登录界面和注册界面的设计,学生需熟悉各种布局(如相对布局和线性布局)、文本、按钮和复选框等控件的使用,以及事件响应机制。 3. 实现菜单功能:能使用OptionMenu和ContextMenu设计主菜单...
- **单选按钮与复选框**:RadioButton和CheckBox,常用于选项选择。 - **ArrayAdapter**:列表视图的基础适配器,用于将数据绑定到ListView。 - **GridView**:展示网格数据,可以使用SimpleAdapter或其他自定义...