I currently have a ListView, which activates a Contextual ActionBar in the ListView's OnItemLongClickListener.

I am trying to make it so that items can be selected by clicking on them, but only when the Contextual ActionBar is up.

The problem is, when I check isItemChecked() , so as to toggle the item's selection state, it always returns the opposite of what it is supposed to.

Here is how I've implemented the OnItemClickListener:

list.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        if (mActionMode != null){
            list.setItemChecked(position, !list.isItemChecked(position));
        }
        else{
            list.setItemChecked(position, false);
        }

    }

});

EDIT: This is pretty bizzare.. this code toggles the selection state:

list.setItemChecked(position, list.isItemChecked(position));

What is going on!?

EDIT 2: Ah, it looks like android is automatically checking and unchecking each item on its own... is there any way to change this behavior and handle it myself?

Edit
Report