I don’t know why but my for loop won’t ‘stop’ when its reached the truth of the termination statement.
for(int i = 1; i < 11; i++){
edittext.setText("");
EasyGame();
//if(i==10){
//Game.this.finish();
//}
}
EasyGame() is an arithmetic method, just adds two numbers together. I tried using the if statement shown above, but it still wouldn’t do anything, and if it did it would call finish() after the first question!
If someone would be kind to help me I would be grateful.
EDIT:
public void EasyGame(){
Random rand = new Random();
final int a = (int) rand.nextInt(20)+1;
final int b = (int) rand.nextInt(20)+1;
String aString = Integer.toString(a);
String bString = Integer.toString(b);
String display = aString + " + " + bString + " =";
questionLabel.setText(display);
c = a + b;
}
that for loop is inside a switch/case, which deals with onClick() for buttons
Very difficult to say without seeing more code, but what you have posted alone is inherently flawed because you’re trying to continuously update a UI element within a loop. If that loop is running on the UI thread, then the system isn’t going to be able to redraw any UI elements such as your
edittextuntil the loop (and whatever containing callback method) exits.Therefore, when you say “I tried using the if statement shown above, but it still wouldn’t do anything, and if it did it would call finish() after the first question!” I make the assumption that you’re believing that the loop is only iterating once because you only ever see
edittextdisplay whatever is passed in the last ever.setText()call.