我在RecyclerView中有4个项目,当我选择第4个项目时取消选择其他选项,而在选择其他3个项目中的任意一个时,如何在Android RecyclerView中取消选择第4个选项呢?
viewHolder.view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(gridItem.isSelectedItem() == false && gridItem.getProblemReason().equals("None of the Above")){
Glide.with(mContext).load((R.drawable.ic_redcross))
.diskCacheStrategy(DiskCacheStrategy.ALL).skipMemoryCache(true)
.into(viewHolder.iv_selection);
if (gridItem.getKey() != null) {
stringArrayList.clear();
stringArrayList.add(gridItem.getKey());
}
gridItem.setSelectedItem(true);
}
else {
Glide.with(mContext).load(((int) gridItem.getProblemImgSelection()))
.diskCacheStrategy(DiskCacheStrategy.ALL).skipMemoryCache(true)
.into(viewHolder.iv_selection);
if (gridItem.getKey() != null) {
stringArrayList.remove(gridItem.getKey());
}
gridItem.setSelectedItem(false);
}
答案 0 :(得分:0)
您需要创建arraylist并将对象选择为布尔值 当您选择项目时,使其在arraylist中为true,而另一个项目为false和notfy if(arrayliast.get(possion)= true){ 码 } 其他{ 码 }
答案 1 :(得分:0)
在适配器类中声明变量,
int prevPosition = -1;
在onBindView方法中,
if (prevPosition == position) {
// set background for selected item
}
else {
// set background for not selected item
}
点击持有人,
`prevPosition = position;`