Я выполнил ту же задачу в одном из моих приложений.
Что вам нужно сделать, это использовать ArrayList того же размера, что и элемент списка, и каждый элемент по умолчанию содержит 0.Теперь в вашем эффективном адаптере для каждого установленного флажка присвойте 1 в этой конкретной позиции в arrayList.Наконец, по нажатию кнопки удаления, просмотрите ArrayList и удалите все те элементы из списка, которые содержат 1 в этой позиции в этом ArrayList, и вызов atLast notifyDatasetChanged () для метода списка , так что список обновляется и показываетновый список.
Вот пример кода, который поможет вам лучше разобраться в этом:
ArrayList<Integer> checks=new ArrayList<Integer>();
Теперь в методе onCreate
for(int b=0;b<tempTitle.length;b++){
checks.add(b,0); //assign 0 by default in each position of ArrayList
}
Теперь в методе getView вашего эффективного адаптера
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.bookmarks_list_item,
null);
holder = new ViewHolder();
holder.text1 = (TextView) convertView
.findViewById(R.id.title);
holder.text2 = (TextView) convertView
.findViewById(R.id.body);
holder.checkBox = (CheckBox) convertView.findViewById(R.id.checkbox);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.checkBox.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(((CheckBox)v).isChecked()){
checks.set(position, 1);
}
else{
checks.set(position, 0);
}
}
});
return convertView;
}
Наконец, при удалении Нажмите кнопку:
delete.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
for(int i=0;i<checks.size();i++){
if(checks.get(i)==1){
//remove items from the list here for example from ArryList
checks.remove(i);
//similarly remove other items from the list from that particular postion
i--;
}
}
((EfficientAdapter)lv.getAdapter()).notifyDataSetChanged();
}
}
Надеюсь, это решит вашу проблему.