我有一个带有String列表的recyclerView 当用户单击两个元素时,它会在返回布尔值的方法中检查其两行 如果为true,则单击2更改背景 - 绿色,否则为红色 我该怎么办?
也就是说,我需要更改Adapter
中两个按下的项目的颜色答案 0 :(得分:0)
在onBindViewHolder()
方法中:
YourObject yo = list.get(position);
holder.viewYouWantToChageBackground = holder.view.setBackgroundColor(yo.booleanCheck ? Color.Red : Color.Green);
请注意,当用户点击时,您应该正确更新列表项,以显示按下哪些列表项以正确设置颜色。
答案 1 :(得分:0)
你可以试试这个,
boolean twoitemsclicked=false;
View firstview;
rcview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(!twoitemsclicked)
firstview=view;
else
{
//call the method
if(anstrue)
{
firstview.setBackgroundColor(Color.GREEN);
view.setBackgroundColor(Color.GREEN);
}
else
{
firstview.setBackgroundColor(Color.RED);
view.setBackgroundColor(Color.RED);
}
}
twoitemsclicked=!twoitemsclicked;
}
});