0

I use this sleep() method inside my method but the problem is it sleeps before the point i want it to sleep. Here is my method:

public void onAnswered() {
    try {
        cTimer.cancel();
        setCorrectFlag();
        System.out.println("something");
        Thread.sleep(1000);
        position++;
        if (position < 10)
            next();
        else {

        }
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

The System.out.println("something");is working before, but `setCorrectFlag(); is happening after the sleeping for 1 second nad it is not changing the colors of buttons before, but after. I dont know how this happends. Here is other method:

public void setCorrectFlag(){
    int id = 0;
    for(int i=0;i<randomQuestions.get(position).getAnswers().size();i++){
        if(randomQuestions.get(position).getCorrectAnswer().equalsIgnoreCase(randomQuestions.get(position).getAnswers().get(i).substring(0, 1))){
            id = i;
        }
    }
    switch(id){
    case 0:
        b1.setBackgroundColor(Color.GREEN);
        break;
    case 1:
        b2.setBackgroundColor(Color.GREEN);
        break;
    case 2:
        b3.setBackgroundColor(Color.GREEN);
        break;
    case 3:
        b4.setBackgroundColor(Color.GREEN);
        break;
    }
}

0 Answers0