2012-09-28 3 views
0

NotFound 리소스 예외에 문제가 있습니다. 나는 내가 설정 한 자원 ID가 정확히 동일하지만 어쨌든 실패합니다! "findViewById (R.id.editText1)"가있는 첫 번째 줄이 잘 실행되고 "시작!"레이블이 표시되므로 흥미로운 점입니다. editText1에서는 두 번째이지만, Thread 내부에서는 두 번째가 실패합니다.안드로이드 : 스레드와 그 안의 NotFoundException

09-29 00:17:45.103: E/AndroidRuntime(347): android.content.res.Resources$NotFoundException: String resource ID #0x0 

아무도 이런 문제를 해결할 수 있습니까?

EditText editText = (EditText) findViewById(R.id.editText1); 
editText.setText("start!"); 

final Handler handler = new Handler(); 
Runnable runnable = new Runnable() { 

    @Override 
    public void run() { 

     for (int i = 0; i <= 10; i++) { 

      final int value = i; 

      try { 

       Thread.sleep(1000); 

      } catch (InterruptedException e) { 

       e.printStackTrace(); 

      } 

      handler.post(new Runnable() { 

       @Override 
       public void run() { 

        EditText editText = (EditText) findViewById(R.id.editText1); 
        editText.setText(value); 

       } 

      }); 

     } 

    } 

}; 

Thread thread = new Thread(runnable); 
thread.start(); 

답변

1

value은 정수 값이다 여기 코드이다. setText 메소드에 정수를 전달하면 strings.xml 파일에서 리소스 ID로 String을 찾습니다. 숫자를 표시하려면 String : Integer.toString(value)

+0

OMG로 구문 분석해야합니다. 잊어 버렸습니다. 너무 간단! 그것은 작동합니다, 많이 고마워요! – JavaRunner

관련 문제