Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在recyclerView中单击时更改选定项目的颜色_Android_Android Recyclerview_Android Adapter - Fatal编程技术网

Android 在recyclerView中单击时更改选定项目的颜色

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);

我想从我的项目中的recyclerview得到这个结果,这里有3个不同的文本视图,当我选择任何文本视图时,请更改其背景

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演示“回收者查看”和“查看寻呼机”