更改单击的recyclerview项目的背景颜色

时间:2017-07-05 20:39:44

标签: android xml android-recyclerview

我正在尝试在点击时更改我的recyclerview行的背景颜色。单击一行时,其背景颜色会更改。如果单击另一行,则前一行将更改回其旧状态,并且新单击的行将更改颜色。

我尝试使用<button :class="{active: buttons['button3']}">Button 3</button> 实现此目的,但是当我释放触摸时,颜色会恢复正常,并且我的所有行都不会突出显示。
有人会知道如何处理这个问题吗?提前致谢

这是我的选择器代码 - 所需目标(选择行STAYS木炭,直到选择另一行)

selectors

2 个答案:

答案 0 :(得分:1)

有几种方式this是我发布的有关多选的问题。但是你的行应该有一个布尔属性,对我而言,这是我找到的所有内容中最简单的方法。在我的问题中@cool alien显示了不同的方法。 Here是另一个,与您的问题的唯一区别在于您正在寻找单选。 对于OnBindViewHolder中的单选,您应该有跟踪先前选择的变量并在有单击时进行调整。我的问题最后是我的代码。

答案 1 :(得分:0)

您是否尝试过处理元素的onClick事件并更改背景颜色属性?

以下是帖子How to Change color of Button in Android when Clicked?

的示例代码
boolean check = false;
Button backward_img;
Button backward_img1;
backward_img = (Button) findViewById(R.id.bars_footer_backward);
backward_img1 = (Button) findViewById(R.id.bars_footer_backward1);
backward_img.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        check = true;
        backward_img.setBackgroundColor(Color.BLUE);
    }
});

if (check == true) {
    backward_img1.setBackgroundColor(Color.RED);
    backward_img.setBackgroundColor(Color.BLUE);
}