gpt4 book ai didi

java - Android App 在线程中调用方法后崩溃?

转载 作者:行者123 更新时间:2023-11-29 04:17:57 25 4
gpt4 key购买 nike

目前在我的 Android 游戏中有一个简单的线程在运行,每 X 毫秒将水平进度条减少 1。我正在尝试实现一种方法,以便当进度条达到 0 时,TextView 更改为“游戏结束”。 只要以这种方式调用此函数,应用就会崩溃。我还正确地初始化了变量,因此该方法应该可以毫无问题地查看此 TextView。

    public class MyThread extends Thread{
@Override
public void run(){
while (counter > 0 && keepRunning){
counter = counter - 1;
android.os.SystemClock.sleep(calculateSleepTick());
mHandler.post(new Runnable() {
@Override
public void run() {
progressTest.setProgress(counter);
}
});
}
isGameOver();
}
}

    public void isGameOver(){
scoreText.setText("Game Over");
}

最佳答案

您的 isGameOver 函数设置 UI 元素的文本。您不能在 main 以外的线程上调用 UI 元素的函数。它需要发布到 UI 线程才能做到这一点。

关于java - Android App 在线程中调用方法后崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51089985/

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