gpt4 book ai didi

java - Android:在调用函数之前实现 1 秒间隔计时器

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:45:38 26 4
gpt4 key购买 nike

我试图在重置游戏 (resetGame()) 之前引入 1 秒的暂停。按下按钮后。 bAnswer1 文本确实等于 ansewrArray[0]。在 newQuestionTimer() 中设置的 1 秒延迟后 App 强制关闭。

import java.util.Timer;
import java.util.TimerTask;

Timer timer = new Timer();

bAnswer1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(bAnswer1.getText().toString().equals(answerArray[0]))
{
bAnswer1.setBackgroundColor(Color.GREEN);
newQuestionTimer();
}
else
{
bAnswer1.setBackgroundColor(Color.RED);
guess++;
}
}
});

public void newQuestionTimer()
{
timer.schedule(new TimerTask() {
@Override
public void run() {
resetGame();
}
}, 1000);
}

最佳答案

您正在通过在后台线程上运行的计时器更新用户界面。用户界面只能在用户界面线程上更新。

你可以使用处理程序

   Handler handler = new Handler();
handler.postDelayed(new Runnable(){
@Override
public void run() {
bAnswer2.setBackgroundColor(Color.TRANSPARENT);
bAnswer3.setBackgroundColor(Color.TRANSPARENT);
bAnswer4.setBackgroundColor(Color.TRANSPARENT);
}
}, 1000);

关于java - Android:在调用函数之前实现 1 秒间隔计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22460499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com