我有一个包含多项选择列表的列表视图。列表由一些数据填充。我已经实现了删除已检查项目的代码。所以我想知道是否有可能在删除之前获取带有标题的选定和未选定项目的列表?
以下是删除已检查项目的代码:
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);
}
答案 0 :(得分:1)
是的,有可能。 只需嵌入此代码;
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();
}
};