线程和 NotFound resource exception

我现在遇见一个问题是 NotFound resource exception。我确信 resource-id和我设置的是一样的,但总是不对。第一行"findViewById( R.id.editText1 )" 可以很好的运行,可以在editText1中看到 "start!" 标签。
但是第二行在线程中,有错误信息: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();

value 是一个整数值。传递一个整数值到 setText 方法,你可以通过 resource ID 从 strings.xml 文件中找到一个 String。如果你想显示一个数字,你需要把它解析成:String: Integer.toString(value)

不能多线程更新UI
这也正是为啥都通过handler来通信处理了
handler通信有多种方法,给你个简单的事例:
更新UI:

Handler mHandler;//public
//......
final EditText editText = ( EditText ) findViewById( R.id.editText1 );
myHandler = new Handler() {    
    public void handleMessage(Message msg) {     
         switch (msg.what) {     
              case 110:
                  Bundle b = msg.getData();  
                  String name = b.getString("name"); 
                  editText.setText(name);
              break;
         }     
         super.handleMessage(msg);     
    }     
};

发送数据:

//thread run
public void run() {   
  Message message=new Message();  
  Bundle b = new Bundle();  
  b.putString("name", "zhangSam"); //send a string
  message.what=110; 
  message.setData(b);
  myHandler.sendMessage(message); 
}

handler.post run里的EditText editText = ( EditText ) findViewById( R.id.editText1 );改成
EditText editText = ( EditText ) youractivity.this.findViewById( R.id.editText1 );