Здравствуйте, разработчики! Этот вопрос может показаться глупым некоторым читателям, и, возможно, он уже отвечал ранее, но я видел много ответов на этом форуме относительно моей проблемы, но я не мог понять ни одного из них.Поэтому, пожалуйста, будьте добры и ответьте на мой вопрос, если сможете.
Дело в том, что я пытаюсь разработать что-то вроде игры и пытаюсь добавить компьютерного или AI-игрока против человека-игрока.
Для этого я добавил метод CountdownTimer
in OnCreate
, и он работал нормально только один раз, поскольку OnCreate выполняется только один раз.Но когда я попытался добавить цикл while внутри выполняемого и внутри этого цикла while, я добавил тот же CountdownTimer, но он начал давать мне ошибки.
if(player2_name.equals("Computer")) {
Runnable r = new Runnable() {
@Override
public void run() {
while (player2_name.equals("Computer")) {
CountDownTimer computer_player;
ct = 5;
firstplayer_game_button.setClickable(false);
computer_player = new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
ct = ct - 1;
// timer_counter.setText("" + ct);
if (ct == 1) {
firstplayer_game_button.setClickable(true);
}
}
@Override
public void onFinish() {
// secondplayer_game_button.setBackgroundResource(R.drawable.button_player_2);
// firstplayer_game_button.setBackgroundResource(R.drawable.button_player_1);
// firstplayer_game_button.setClickable(true);
if (player2_name.equals("Computer")) {
secondplayer_game_button.setClickable(false);
} else {
secondplayer_game_button.setClickable(true);
}
if (checker != 1) {
Click_Condition_checker(2);
}
}
};
computer_player.start();
}
}
};
Thread mythread = new Thread(r);
mythread.start();
Я знаю, что Runnable не может взаимодействовать с пользовательским интерфейсом напрямую и длячто нам нужны обработчики, поэтому я прокомментировал все интерфейсы пользовательского интерфейса.Но все равно не повезло.И, к сожалению, я не могу определить ошибки.Если кто-то может помочь, то был бы очень любезен для такого глупого разработчика, как я.