Java 带有操作栏上下文的颜色项目listview

Java 带有操作栏上下文的颜色项目listview,java,android,xml,listview,Java,Android,Xml,Listview,我有一个列表视图,当我点击一个项目时,我希望它的颜色是确定的,因为当我点击一个项目时,上下文操作栏,为什么人们必须看到列表上的哪些项目被选中。我写了这段代码 private void onListItemSelect(int position) { adapter.toggleSelection(position); boolean hasCheckedItems = adapter.getSelectedCount() > 0;

我有一个列表视图,当我点击一个项目时,我希望它的颜色是确定的,因为当我点击一个项目时,上下文操作栏,为什么人们必须看到列表上的哪些项目被选中。我写了这段代码

    private void onListItemSelect(int position) {
        adapter.toggleSelection(position);
        boolean hasCheckedItems = adapter.getSelectedCount() > 0;

        if (hasCheckedItems && mActionMode == null)
            // there are some selected items, start the actionMode
            mActionMode = startSupportActionMode(new ActionModeCallback());

        else if (!hasCheckedItems && mActionMode != null)
            // there no selected items, finish the actionMode
            mActionMode.finish();

        if (mActionMode != null)
            mActionMode.setTitle(String.valueOf(adapter.getSelectedCount()) + " selezionati");
    }

    private class ActionModeCallback implements ActionMode.Callback {

        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            // inflate contextual menu
            mode.getMenuInflater().inflate(R.menu.contextual_action_bar, menu);


            return true;
        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return false;
        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {

            switch (item.getItemId()) {
            case R.id.menu_item1:

                item.setIcon(R.drawable.delete_pressed);
                //mode.finish();
                return true;
            default:
                return false;
            }

        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {
            // remove selection
            adapter.removeSelection();
            mActionMode = null;
        }
    }

applicationListView.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> parent, View view, int position, long id)
            { 
                adapter.isSelected(true, view);
                onListItemSelect(position);

            }

    });  
问题是,当我点击这个项目时,它的颜色是正确的,并且出现了上下文操作栏,到目前为止一切都很好。问题是,即使不再有上下文操作栏,元素仍然保持彩色。我希望,当它们恢复到正常的颜色,然后清晰。我该怎么办

 public void selectView(int position, boolean value) {
        if (value)
            mSelectedItemsIds.put(position, value);
        else
            mSelectedItemsIds.delete(position);

        notifyDataSetChanged();
    }

    public void toggleSelection(int position) {
        selectView(position, !mSelectedItemsIds.get(position));
    }

    public int getSelectedCount() {
        return mSelectedItemsIds.size();
    }

    public void removeSelection() {
        mSelectedItemsIds = new SparseBooleanArray();
        notifyDataSetChanged();
    }

    public void isChecked(boolean checked, View v) {
        if(checked) {
            v.setBackgroundColor(Color.LTGRAY);
        }
        else {
            v.setBackgroundColor(Color.TRANSPARENT);
        }
    }