这个需要自己去继承adapter,然后利用一些简单的JAVA代码做到批量删除的效果。以下是各个分段程序的代码,你可以看看,希望对你有帮助/********************************************************************src包中的程序**************************MyListData.java【主要用来充当一个数据源而已】代码:/***********************************************************************************************************/package com.hzj.MList;import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class MyListData{public static List<HashMap<String, Object>> array=new ArrayList<HashMap<String,Object>>();}/***********************************************************************************************************/MList.java【主界面,一个ListView和一个Button】代码:/***********************************************************************************************************/package com.hzj.MList;import java.util.HashMap;import java.util.Iterator;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.ListView;import android.widget.TextView;import android.widget.CompoundButton.OnCheckedChangeListener;public class MList extends Activity {ListView listView=null;Button button=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //初始化数据 MyListData.array.clear(); HashMap<String, Object> ha1=new HashMap<String, Object>(); ha1.put("Big", "文章0"); ha1.put("Small", "android 小项目0"); ha1.put("isCheck", "0"); MyListData.array.add(ha1); HashMap<String, Object> ha2=new HashMap<String, Object>(); ha2.put("Big", "文章1"); ha2.put("Small", "android 小项目1"); ha2.put("isCheck", "0"); MyListData.array.add(ha2); HashMap<String, Object> ha3=new HashMap<String, Object>(); ha3.put("Big", "文章2"); ha3.put("Small", "android 小项目2"); ha3.put("isCheck", "0"); MyListData.array.add(ha3); HashMap<String, Object> ha4=new HashMap<String, Object>(); ha4.put("Big", "文章3"); ha4.put("Small", "android 小项目3"); ha4.put("isCheck", "0"); MyListData.array.add(ha4); //初始化ListView listView=(ListView)findViewById(R.id.ListView01); //设置adapter【这里需要自定义adapter】 MySimpleAdapter adapter=new MySimpleAdapter(this); listView.setAdapter(adapter); button=(Button)findViewById(R.id.Button01); //activity界面上的按钮事件,用于批量删除 button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //执行批量删除 Iterator<HashMap<String, Object>> iterator = MyListData.array.iterator(); while(iterator.hasNext()) { HashMap<String, Object> temp=iterator.next(); if(temp.get("isCheck").toString().equals("1")) { iterator.remove(); } } //刷新listView MySimpleAdapter adapter=new MySimpleAdapter(MList.this); listView.setAdapter(adapter); } }); }}class MySimpleAdapter extends BaseAdapter{Activity activity;public MySimpleAdapter(Activity activity){ this.activity=activity; } //返回总行数,实际上这里的适配器绑定一个数据源,数据源为List@Overridepublic int getCount(){ // TODO Auto-generated method stub return MyListData.array.size();}//返回指定的Item,当然选择的position也对应于List里面的index,且都从0开始@Overridepublic Object getItem(int position){ // TODO Auto-generated method stub return MyListData.array.get(position);}//返回指定的ItemID@Overridepublic long getItemId(int position){ // TODO Auto-generated method stub return position;}//主要是这里需要自己定义要显示什么!@Overridepublic View getView(int position, View convertView, ViewGroup parent){ //得到自己定义的List的界面style View view=activity.getLayoutInflater().inflate(R.layout.liststyle,null); //得到文本框1对象 TextView textView1=(TextView)view.findViewById(R.id.TextView01); //得到文本框2对象 TextView textView2=(TextView)view.findViewById(R.id.TextView02); //得到check对象 CheckBox checkBox=(CheckBox)view.findViewById(R.id.CheckBox01); //设置tag,为了下面的事件服务 checkBox.setTag(position); //设置文本框1对象的值 textView1.setText(MyListData.array.get(position).get("Big").toString()) ; //设置文本框2对象的值 textView2.setText(MyListData.array.get(position).get("Small").toString()); //设置check对象的点击事件 checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { //得到tag主要传递position int p= Integer.parseInt(buttonView.getTag().toString()); //一个简单的测试,看看有没有效果 System.out.println("*************************"+p); if(isChecked) { MyListData.array.get(p).put("isCheck", "1"); } else { MyListData.array.get(p).put("isCheck", "0"); } //一个简单的测试,看看有没有效果 System.out.println(MyListData.array.get(p).get("isCheck").toString()); } }); return view;} }/***********************************************************************************************************/layout包中的布局主界面布局对应于【MList.java】main.xml代码:/***********************************************************************************************************/<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /><ListView android:id="@+id/ListView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></ListView><Button android:text="@+id/Button01" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button></LinearLayout>/***********************************************************************************************************/Listview的Item布局。liststyle.xml代码:/***********************************************************************************************************/<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayoutandroid:id="@+id/LinearLayout02" android:orientation="horizontal"android:layout_width="fill_parent" android:layout_height="wrap_content"><TextView android:text="@+id/TextView01" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView></LinearLayout> <LinearLayout android:id="@+id/LinearLayout01" android:orientation="horizontal"android:layout_width="fill_parent" android:layout_height="wrap_content"><TextView android:text="@+id/TextView02" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView><CheckBox android:text="@+id/CheckBox01" android:id="@+id/CheckBox01" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox></LinearLayout></LinearLayout>
