2014-09-04 68 views
0

定時器是一個TextView並在運行時間拋出錯誤螺紋顯示錯誤

[主題ID = 1:螺紋與未捕獲的異常退出(組= 0xa4b5c648)]

[致命異常:主]

[android.content.res.Resources $ NotFoundException:字符串資源ID#爲0x0]

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

         } 
    error--------> Timer.setText(i); 
        } 
       } 
      };t1.start(); 
    } 
+0

http://stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can-i-solve-this – EpicPandaForce 2014-09-04 08:58:29

+0

對您可能遇到的所有未來異常提供溫和的建議和預防措施--- - >處理UI線程中的任何/只是UI操作,像這樣'runOnUiThread(new Runnable(){Timer.setText(i);});' – BlackBeard 2014-09-04 10:24:28

回答

1

你必須這樣設置

Timer.setText(i + "");

文本這是因爲setText(int resId)版本,當你在一個int值傳遞,當你真的想調用setText(String text)版本調用

編譯器/ IDE在這裏不會給出錯誤。 int版本查找不存在的相應String資源,併爲您提供錯誤。

檢查鏈接的模式信息TextView

1

變化

Timer.setText(i); 

Timer.setText(String.valueOf(i)); 

i這裏是一個Integer值。您不能將Integer值指定爲TextView文本,您必須先將其轉換爲String

+0

如果你解釋OP的原因,你的文章可能會吸引更多的選票。 – Mikaveli 2014-09-04 10:05:59

+0

如果我更改爲Timer.setText(String.valueOf(i));那麼程序沒有執行的同樣的問題也會出現。 – 2014-09-04 11:05:53

+0

起初,我轉換爲字符串並執行,也沒有工作。 – 2014-09-04 11:09:57