Reputation: 2726
I have a listview with multiple choice list. List is filled by some data. I have implemented code for deleting checked items. So I'm wondering is it possible to get list of selected and non-selected items with their captions before deleting?
Here is the code for deleting checked items:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnDel = (Button) findViewById(R.id.btnDel);
adapter = new ArrayAdapter<String>(this,Android.R.layout.simple_list_item_multiple_choice, list);
OnClickListener listenerDel = new OnClickListener() {
@Override
public void onClick(View v) {
SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions();
int itemCount = getListView().getCount();
for(int i=itemCount-1; i >= 0; i--){
if(checkedItemPositions.get(i)){
adapter.remove(list.get(i));
}
}
checkedItemPositions.clear();
adapter.notifyDataSetChanged();
}
};
btnDel.setOnClickListener(listenerDel);
setListAdapter(adapter);
}
Upvotes: 0
Views: 596
Reputation: 1242
Yes, it is possible. Just embed this code;
ArrayList<Object> myCheckedItems = new ArrayList<Object>();
OnClickListener listenerDel = new OnClickListener() {
@Override
public void onClick(View v) {
SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions();
int itemCount = getListView().getCount();
for(int i=itemCount-1; i >= 0; i--){
if(checkedItemPositions.get(i)){
myCheckedItems.add((list.get(i));
adapter.remove(list.get(i));
}
}
checkedItemPositions.clear();
adapter.notifyDataSetChanged();
}
};
Upvotes: 1