Android 在recyclerView中单击时更改选定项目的颜色
我想从我的项目中的recyclerview得到这个结果,这里有3个不同的文本视图,当我选择任何文本视图时,请更改其背景Android 在recyclerView中单击时更改选定项目的颜色,android,android-recyclerview,android-adapter,Android,Android Recyclerview,Android Adapter,我想从我的项目中的recyclerview得到这个结果,这里有3个不同的文本视图,当我选择任何文本视图时,请更改其背景 holder.llAns1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { holder.llAns1.setBackgroundResource(R.drawable.que_correct_back);
holder.llAns1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.llAns1.setBackgroundResource(R.drawable.que_correct_back);
holder.llAns2.setBackgroundResource(R.drawable.round_strock_green);holder.llAns3.setBackgroundResource(R.drawable.round_strock_green);
allAns.add(holder.tvans1.getText().toString());
correctans = userlist.get(position).get("correctans");
/*
check if selected option is correct
* */
if(holder.tvans1.getText().toString().equals(correctans)){
CorrectAns.add(userlist.get(position).get("ans1"));
} else {
try {
CorrectAns.remove(position);
}catch (IndexOutOfBoundsException e){
}
}
});
holder.llAns2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.llAns2.setTag(position);
holder.llAns2.setBackgroundResource(R.drawable.que_correct_back);
holder.llAns1.setBackgroundResource(R.drawable.round_strock_green);
holder.llAns3.setBackgroundResource(R.drawable.round_strock_green);correctans = userlist.get(position).get("correctans");
/*
check if selected option is correct
* */
if(holder.tvans2.getText().equals(correctans)){
CorrectAns.add(userlist.get(position).get("ans2"));
Log.d("corrAns1",String.valueOf(CorrectAns));
} else {
try {
CorrectAns.remove(correctans);
}
catch (IndexOutOfBoundsException e){}
Log.d("corrAns2",String.valueOf(CorrectAns));
}
}
});
holder.llAns3.setTag(position);
holder.llAns3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.llAns3.setBackgroundResource(R.drawable.que_correct_back); /*set drawable if correct option is selected*/
holder.llAns2.setBackgroundResource(R.drawable.round_strock_green);
holder.llAns1.setBackgroundResource(R.drawable.round_strock_green);
correctans = userlist.get(position).get("correctans");
/*
check if selected option is correct
* */
if(holder.tvans3.getText().equals(correctans)){
CorrectAns.add(userlist.get(position).get("ans3"));
Log.d("corrAns1",String.valueOf(CorrectAns));
}else {
try {
CorrectAns.remove(correctans);}catch (IndexOutOfBoundsException e){}
Log.d("corrAns2",String.valueOf(CorrectAns));
}
}
});
要实现这样的Ui和功能,您可以使用viewpager而不是recycler视图,该视图(项目视图)每次以及用户在Arraylist中选择答案(存储完整模型)存储时都会显示单个问题和答案。在视图寻呼机中,您还可以使用setCurrentItem()从代码交换视图。在所有这些问题之后,您可以在新的活动或片段中显示结果 请检查我的问题中的图片,你到目前为止尝试了什么?如果你不尝试,你就无法期待答案。我们在这里帮助你编写代码,而不是在这里为你编写代码,伙计…检查代码@Moudizany演示“回收者查看”和“查看寻呼机”