尝试在我的应用程序中创建塞子

时间:2014-12-05 15:28:15

标签: android android-layout

我创建了正在运行的应用程序,我试图创建在用户按下开始按钮时启动的限制器。 但当我使用线程时,应用程序返回黑屏 ,这是我添加线程的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语句时问题开始了 那是为什么?

1 个答案:

答案 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));
}