Android setBackgroundColor不工作

Android setBackgroundColor不工作,android,android-listview,Android,Android Listview,我有个奇怪的问题。在几次迭代之前,一切都很好,但现在它不再工作了。我已经设置了一个setMultichoiceModelListener,让用户从ListView中选择要删除的多个元素。要将元素标记为选中,我执行了以下操作: public void onItemCheckedStateChanged(ActionMode mode,int position, long id, boolean checked){ Log.d(TAG,(checked ? "

我有个奇怪的问题。在几次迭代之前,一切都很好,但现在它不再工作了。我已经设置了一个setMultichoiceModelListener,让用户从ListView中选择要删除的多个元素。要将元素标记为选中,我执行了以下操作:

    public void onItemCheckedStateChanged(ActionMode mode,int position, long id, boolean checked){
                Log.d(TAG,(checked ? "Checked " : "Un-checked ")+ ((TextView) listView.getChildAt(position).findViewById(R.id.label)).getText().toString());
                if (checked){
                    listView.getChildAt(position).setBackgroundColor(Color.parseColor("#6633b5e5"));
                }else{
                    listView.getChildAt(position).setBackgroundColor(Color.parseColor("#00000000"));
                }
            }
Log语句用于调试,并正确输出。第一次长按激活MultichoiceModelListener时,它会输出“选中文本”。我还用Log语句检查了它的颜色,它输出了正确的颜色值。唯一的问题是,它没有画出来。如果我继续选择项目,它们将改变颜色,如果我取消选择并重新选择项目,它将改变颜色。因此,只有第一个选中的项目不会改变颜色,即使它被计算为签入,例如onActionItemClicked。这整件事似乎有点乏味,所以我也想知道是否有更好的方法来做到这一点。我曾研究过在html文件中设置选择器,但运气不好。我可以更改按下的颜色,但不能更改选中的颜色


感谢您的帮助。

您正在尝试使用资源,因此您应该执行以下操作

listView.getChildAt(position).setBackgroundResource(Color.parseColor(<Your-Color>))

最后执行了这个listView.setChoiceMode(AbsListView.CHOICE\u MODE\u MULTIPLE\u model);让它自己给元素着色。不幸的是,这意味着我不能尝试你的代码,看看它是否是正确的,但我会标记它为接受,但无论如何。
listView.getChildAt(position).setBackgroundResource(R.color.<Your-Color>)