我有一个完整的思路。我正在制作一个简单的测验应用程序,并且希望我的回收者视图添加点(如果选择了正确的答案),并且希望我的用户可以在单击“下一个问题”之前更改答案。可悲的是,每当有人将答案从好改变为坏,反之亦然时,我写的东西就和分数打乱了。我知道有一些逻辑错误,但我不知道如何正确执行。

我的适配器类中的代码:

boolean rightAnwserSelected = false;

    if(holder.checkBox.isChecked()){
        if (mData.get(position).getIsCorrect()!=null && !rightAnwserSelected){
            rightAnwserSelected = true;
            POINTS++;
        }
    }
    if (holder.checkBox.isChecked()){
        if (mData.get(position).getIsCorrect()==null && rightAnwserSelected){
            rightAnwserSelected = false;
            POINTS--;
        }
    }

最佳答案

我假设“下一个问题”按钮将移至其他活动等。在这种情况下,最好不要在用户进行选择时修改POINTS变量,而应仅在“下一个问题”按钮的单击处理程序中对其进行更改。

在这种情况下,您要做的就是(在按钮的处理程序中)检查选中了哪个选项,以及选中的选项是否正确。然后,您只需相应地修改POINTS变量。

10-08 15:48