ListView + CheckBox (全选,反选,取消)
来源:互联网 发布:python安装包官网下载 编辑:程序博客网 时间:2024/05/16 10:21
Xml布局
<strong><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="全选" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="取消" /> <Button android:id="@+id/btn3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="反选" /> </LinearLayout></LinearLayout></strong>
Main
<strong>package com.bw.list_checkbox;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ListView;import android.widget.Toast;import com.bw.adapter.Myadapter;public class MainActivity extends Activity {private ListView lv;private Button btn2, btn1, btn3;private List<String> list;private Myadapter adapter;private int nuber = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);lv = (ListView) findViewById(R.id.lv);btn1 = (Button) findViewById(R.id.btn1);btn2 = (Button) findViewById(R.id.btn2);btn3 = (Button) findViewById(R.id.btn3);list = new ArrayList<String>();initDate();adapter = new Myadapter(this, list);lv.setAdapter(adapter);btn1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {for (int i = 0; i < list.size(); i++) {boolean[] checks = Myadapter.checks;if (checks[i] == false) {checks[i] = true;}}nuber = list.size();Change();}});btn2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {for (int i = 0; i < list.size(); i++) {boolean[] checks = Myadapter.checks;if (checks[i] == true) {checks[i] = false;}}nuber = list.size();Change();}});btn3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {for (int k = 0; k < list.size(); k++) {boolean[] checks = Myadapter.checks;if (checks[k] == true) {checks[k] = false;nuber--;} else {checks[k] = true;nuber++;}}Change();}});}private void initDate() {for (int i = 0; i < 15; i++) {list.add("data" + i);}}public void Change() {adapter.notifyDataSetChanged();Toast.makeText(MainActivity.this, "已选择" + nuber + "项",Toast.LENGTH_SHORT).show();}}</strong>
Adapter
<strong>package com.bw.adapter;import java.util.List;import com.bw.list_checkbox.R;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.TextView;public class Myadapter extends BaseAdapter {private Context contextx;private List<String> list;public static boolean[] checks;;public Myadapter(Context context, List<String> list) {this.contextx = context;this.list = list;checks = new boolean[list.size()];}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int arg0) {return null;}@Overridepublic long getItemId(int arg0) {return 0;}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {Haodler handler;if (convertView == null) {handler = new Haodler();convertView = View.inflate(contextx, R.layout.list_adapter, null);handler.text = (TextView) convertView.findViewById(R.id.adapter_text);handler.cb = (CheckBox) convertView.findViewById(R.id.adapter_cb);convertView.setTag(handler);}handler = (Haodler) convertView.getTag();handler.text.setText(list.get(position));final int pos = position;handler.cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {checks[pos] = isChecked;}});handler.cb.setChecked(checks[pos]);return convertView;}class Haodler {TextView text;public CheckBox cb;}}</strong>
0 0
- ListView + CheckBox (全选,反选,取消)
- 实现listview中checkbox的全选、反选和取消
- checkbox全选,反选和取消全选
- JQuery 实现checkbox全选、反选、取消
- Query--checkbox全选/反选/取消
- Android开发CheckBox控件,全选,反选,取消全选
- ListView+CheckBox实现全选和反选
- ListView中的CheckBox全选反选
- ListView和CheckBox嵌套,全选,反选
- listView进行CheckBox的全选、反选
- Ajax 全选、反选、取消、添加、删除、更新Checkbox实例
- 不错的checkbox全选 反选 取消例子
- GridView控件中模板列CheckBox全选、反选、取消
- javascript, jquery实现checkbox全选,反选,取消选择
- C#checkBox的全选取消和反选
- jquery实现checkbox全选,反选,取消选择
- jquery实现checkbox全选,反选,取消选择
- jquery实现checkbox全选,反选,取消选择
- Ubuntu 14.04 安装IRAF, PyRAF
- Java初级应用----打印回字型
- android之数据存储3
- C\C++代码优化的27个建议
- android 消息系统Handler、MessageQueue、Looper源码学习
- ListView + CheckBox (全选,反选,取消)
- 初学C#:贪吃蛇
- Q45:圆圈中最后剩下的数字
- 序列化和反序列化
- <meta name="viewport" content="width=device-width,initial-scale=1.0">
- DSP+Linux开发技术分析
- 详解SESSION与COOKIE的区别
- 有道内推笔试
- 8. String to Integer (atoi)