如何在Android中立即反映挫折

如何在Android中立即反映挫折,android,events,onclick,Android,Events,Onclick,我用Android开发了一个测验应用程序。 我想展示关于单个活动的所有问题。当用户选择一个选项时,如果正确,则设置颜色为绿色,如果错误,则设置颜色为红色。并获得新的问题和选择。我在onClick事件上编写了代码: public void onClickChoice(View v) { String text = ((TextView) v).getText().toString(); if (text == currentAnswer) { v.setBack

我用Android开发了一个测验应用程序。 我想展示关于单个活动的所有问题。当用户选择一个选项时,如果正确,则设置颜色为绿色,如果错误,则设置颜色为红色。并获得新的问题和选择。我在onClick事件上编写了代码:

public void onClickChoice(View v)  {
    String text = ((TextView) v).getText().toString();

    if (text == currentAnswer) {
        v.setBackgroundColor(getResources().getColor(newGreen));
    } else {
        v.setBackgroundColor(getResources().getColor(newRed));
    }

    setNewQuestion();
}
当运行应用程序时,我回答了第一个问题,第二个问题出现了,第二个问题的选择颜色也改变了。
如何解决此问题。

为什么不尝试使用
setOnClickLisenter()在类中实现

使用

 v.setBackgroundResource(R.color.red); //or green, blue,...

原始答案:

这是列表视图还是回收视图


如果是这样的话,每个视图都是循环的,因此您需要在每个视图启动时专门设置背景颜色。

@MHilmiKoca据我所知,您希望看到背景的变化。好吧,如果你改变它,然后跳到另一个问题,当然,当你在另一个问题的背景中时,第二个背景是绿色/红色。所以你必须等待。问题出在哪里?你能解释清楚吗?我在第一个问题上看不到新的颜色(绿色/红色)。立即(或3秒钟后)第二个问题出现红色/绿色。我的期望是我回答第一个问题,选择的颜色是变化的。然后用默认颜色回答第二个问题。我回答第二个问题,它的颜色是变化的。Etc@MHilmiKoca哦,那么忘记前面的代码吧。使用v.setBackgroundResource(R.color.red);我用一个问题列表在适配器上扫描你。getView()我会看看我是否能帮上忙。我用的是minSdkVersion是14。我能用这个吗