我创建了正在运行的应用程序,我试图创建在用户按下开始按钮时启动的限制器。 但当我使用线程时,应用程序返回黑屏 ,这是我添加线程的onCreate方法
Thread t = new Thread() {
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
SetTextOnView();
}
});
}
};
t.start();
SetTextOnView方法包含
public void SetTextOnView()
{
TextView timedisp = (TextView) findViewById(R.id.stopperdisplay);
while(true)
{
timedisp.setText(String.valueOf(total));
}
}
当我添加while语句时问题开始了 那是为什么?
答案 0 :(得分:1)
在你的线程中执行循环以阻止ui线程+添加一些延迟以阻止ui线程:
Thread t = new Thread() {
public void run() {
while (true) {
runOnUiThread(new Runnable() {
@Override
public void run() {
SetTextOnView();
}
});
Thread.sleep(1000);
}
}
};
你的SetTextOnView:
public void SetTextOnView()
{
TextView timedisp = (TextView) findViewById(R.id.stopperdisplay);
timedisp.setText(String.valueOf(total));
}