2014-09-04 51 views
0

如果計時器是一個TextView和運行過程中拋出錯誤,並且UI出來說可惜一直stopped.Have連接錯誤惹鏈接below.Plz幫不理解我要去的地方錯了線程不執行UI出來說,不幸的是停止

protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.level_twolayout); 
     Thread t1 = new Thread(new Runnable() { 
        public void run() { 
         for (int i = 0; i < 10; i++) { 
          try { 
           Thread.sleep(1000); 

          } catch (Exception e) { 

          } 
          Timer.setText("Hello"); 
         } 
        } 
       });   
       t1.start(); 
     } 

Error

回答

0

您必須從主線程更新UI。

使用此代碼。代替Timer.setText(「Hello」);

// verify we are indeed updating UI on main thread. 
runOnUiThread(new Runnable() { 

    @Override 
    public void run() { 
     // go ahead and update UI 
     Timer.setText("Hello"); 
    } 
}); 

runOnUiThread是一個Activity方法。請參閱http://developer.android.com/reference/android/app/Activity.html#runOnUiThread%28java.lang.Runnable%29

您需要調用MyActivityName.this.runOnUiThread()或更簡單的runOnUiThread(),因爲「this」將指向您正在創建的Runnable的範圍,而不是您的Activity。

最後,「計時器」可能不是您TextView的最佳名稱。