Android 更改适配器中列表项的背景
我有一个带有字符串列表的recyclerView 当用户单击两个元素时,它会在返回布尔值的方法中检查其2行 如果为true,则单击2项更改背景-绿色,否则为红色 我怎么做Android 更改适配器中列表项的背景,android,android-layout,android-recyclerview,adapter,Android,Android Layout,Android Recyclerview,Adapter,我有一个带有字符串列表的recyclerView 当用户单击两个元素时,它会在返回布尔值的方法中检查其2行 如果为true,则单击2项更改背景-绿色,否则为红色 我怎么做 也就是说,我需要更改onBindViewHolder()方法中适配器中两个按下项的颜色: YourObject yo = list.get(position); holder.viewYouWantToChageBackground = holder.view.setBackgroundColor(yo.booleanChec
也就是说,我需要更改
onBindViewHolder()方法中适配器中两个按下项的颜色:
YourObject yo = list.get(position);
holder.viewYouWantToChageBackground = holder.view.setBackgroundColor(yo.booleanCheck ? Color.Red : Color.Green);
请注意,当用户单击时,您应该正确更新列表项,显示按了哪些列表项以正确设置颜色。您可以尝试此操作
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;
}
});
布尔twoitemsclicked=false;
第一视图;
rcview.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
如果(!twoitemsclicked)
第一视图=视图;
其他的
{
//调用该方法
如果(anstrue)
{
firstview.setBackgroundColor(颜色:绿色);
视图.setBackgroundColor(颜色.绿色);
}
其他的
{
firstview.setBackgroundColor(颜色:红色);
视图.setBackgroundColor(颜色.红色);
}
}
twoitemsclicked=!twoitemsclicked;
}
});