checkbox的listView 实现多选,全选,反选

这篇博客详细介绍了如何在Android开发中使用Adapter来实现ListView中的Checkbox功能,包括多选、全选和反选操作的逻辑实现。
摘要由CSDN通过智能技术生成
主函數<span style="font-family: Arial, Helvetica, sans-serif;">Activity的设置</span>
import java.util.ArrayList;

import com.example.all_other.MyAdapter.ViewHolder;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {
	   private ListView lv;  
	    private MyAdapter mAdapter;  
	    private ArrayList<String> list;  
	    private Button bt_selectall;  
	    private Button bt_cancel;  
	    private Button bt_deselectall;  
	    private int checkNum; // 记录选中的条目数量  
	    private TextView tv_show;// 用于显示选中的条目数量  
	  
	    /** Called when the activity is first created. */  
	  
	    @Override  
	    public void onCreate(Bundle savedInstanceState) {  
	        super.onCreate(savedInstanceState);  
	        setContentView(R.layout.activity_main);  
	        /* 实例化各个控件 */  
	        lv = (ListView) findViewById(R.id.lv);  
	        bt_selectall = (Button) findViewById(R.id.bt_selectall);  
	        bt_cancel = (Button) findViewById(R.id.bt_cancleselectall);  
	        bt_deselectall = (Button) findViewById(R.id.bt_deselectall);  
	        tv_show = (TextView) findViewById(R.id.tv);  
	        list = new ArrayList<String>();  
	        // 为Adapter准备数据  
	        initDate();  
	        // 实例化自定义的MyAdapter  
	        mAdapter = new MyAdapter(list, this);  
	        // 绑定Adapter  
	        lv.setAdapter(mAdapter);  
	  
	        // 全选按钮的回调接口  
	        bt_selectall.setOnClickListener(new OnClickListener() {  
	            @Override  
	            public void onClick(View v) {  
	                // 遍历list的长度,将MyAdapter中的map值全部设为true  
	                for (int i = 0; i < list.size(); i++) {  
	                    MyAdapter.getIsSelected().put(i, true);  
	                }  
	                // 数量设为list的长度  
	                checkNum = list.size();  
	                // 刷新listview和TextView的显示  
	                dataChanged();  
	            }  
	        });  
	  
	        // 反选按钮的回调接口  
	        bt_cancel.setOnClickListener(new OnClickListener() {  
	            @Override  
	   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值