【发布时间】:2017-02-13 02:34:14
【问题描述】:
我有这个问题。我正在尝试从另一个线程更新我的TextView,但它不允许我这样做。
我尝试了很多不同的解决方案,但似乎都没有帮助。在我的 while 循环代码中,一直在打印“开始新循环”,但它并没有从 runOnUiThread 继续。
谁能帮我弄清楚如何从另一个线程更新TextView?
//second thread
protected void startKakkosThread() {
Thread t2 = new Thread() {
public void run() {
while (true) {
System.out.println("Started new loop");
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
if(rullaavaNumero >= 0) {
rullaavaNumero--;
System.out.println(rullaavaNumero);
pelaajanPisteetTeksi.setText("" + rullaavaNumero);
sleep(1000);
}else{
rullaavaNumero = 9;
System.out.println(rullaavaNumero);
pelaajanPisteetTeksi.setText("" + rullaavaNumero);
sleep(1000);
}
}catch (InterruptedException e){
e.printStackTrace();
}
}
});
}
}
};
t2.start();
}
【问题讨论】:
-
我认为你应该改用
Handler或者postDelayed -
您应该考虑为此使用 AsyncTask。
标签: android android-runonuithread