0

我有一个带有多项选择列表的列表视图。列表由一些数据填充。我已经实现了删除检查项目的代码。所以我想知道在删除之前是否可以获取带有标题的选定和非选定项目列表?

以下是删除选中项的代码:

  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);
}
4

1 回答 1

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();
    }
};            
于 2013-07-19T09:08:04.737 回答