Когда я запускаю свое приложение, он будет постоянно застревать в цикле while. Он должен выйти из цикла while, когда нажата кнопка, однако даже после нажатия кнопки она продолжает зацикливаться.Java (Android) застрял во время цикла
View.OnClickListener listener11 = new View.OnClickListener() {
@Override
public void onClick(View view) {
temp1 = button[0];
temp3 = button[0].getBackground();
state++;
}
};
while(state == 0) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
button[0].setOnClickListener(listener11);
}
переменные: состояния является INT TEMP1 является кнопкой temp3 является Drawable
задержка там, потому что я на самом деле есть 20 кнопок и у меня есть setOnClickListeners для всех кнопки внутри этого цикла, поэтому я думаю, что он вызывает его сбой без задержки. Другой вопрос заключается в том, возможно ли иметь setOnClickListeners вне цикла while, но все же быть в состоянии проверить нажатие кнопки внутри цикла?
Вы уверены, что прослушивается onClick? Вы пытались добавить инструкцию печати для увеличения значения состояния? –
Это происходит на основной теме? –
Его обычно плохой идеей, чтобы спать основной поток, так как он остановит все взаимодействие пользователя с обработкой –