直接上源码package com.work;import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;public class Handler2Activity extends Activity {
    private Button but1;
    private Button but2;
    private Button but3;
    private TextView text;
    private MyHandler myHandler;
    private Message msg;
//    private HandlerThread mHandlerThread;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
//        HandlerThread mHandler_Thread=new HandlerThread("mHandler_Thread");
//        mHandler_Thread.start();
//        myHandler=new MyHandler(mHandler_Thread.getLooper());
//        Message msg=myHandler.obtainMessage();
//        msg.what=0;
//        msg.sendToTarget();
        
        but1=(Button)findViewById(R.id.but1);
        but2=(Button)findViewById(R.id.but2);
        but3=(Button)findViewById(R.id.but3);
        text=(TextView)findViewById(R.id.text);
        text.setText("0");
        
        but1.setOnClickListener(click);
        but2.setOnClickListener(click);
        but3.setOnClickListener(click);
    }
    class MyHandler extends Handler{
       public MyHandler(){
        
       }
       public MyHandler(Looper looper){
        super(looper);
       }

public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);

// Bundle bundle=msg.getData();
// msg.what=bundle.getInt("send");
switch (msg.what) {
case 0:
int i=Integer.parseInt(text.getText().toString());
i++;
Integer a=new Integer(i);
String str=a.toString();
text.setText(str);                                //问题!?
// msg=myHandler.obtainMessage(0);
// msg.sendToTarget();
// myHandler.sendEmptyMessageDelayed(0, 0);

break; default:
break;
}
}
    
    }
    protected OnClickListener click=new OnClickListener() {

@Override
public void onClick(View v) {
Button but=(Button)v;
switch (but.getId()) {
case R.id.but1:
// myHandler.sendEmptyMessage(0);

        HandlerThread mHandlerThread=new HandlerThread("mHandlerThread");
        mHandlerThread.start();
        myHandler=new MyHandler(mHandlerThread.getLooper());
        msg=myHandler.obtainMessage(0);
       
// Bundle bundle=new Bundle();
// bundle.putString("send", "0");
//            
//     
//     msg.setData(bundle);
    msg.sendToTarget();
break;
            case R.id.but2:
myHandler.removeMessages(0);
break;
            case R.id.but3:
text.setText("0");
myHandler.removeMessages(0);
break;
default:
break;
}
}
};
}
XML<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/text"
        android:textSize="30sp"
        android:gravity="right"
        />
    <Button 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/but1"
        android:text="@string/start"
        />
    <Button 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/but2"
        android:text="@string/end"
        />
    <Button 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/but3"
        android:text="@string/chongzhi"
        />
</LinearLayout>
错误信息:
02-01 17:32:34.637: E/AndroidRuntime(9632): FATAL EXCEPTION: mHandlerThread
02-01 17:32:34.637: E/AndroidRuntime(9632): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.view.ViewRoot.checkThread(ViewRoot.java:2802)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.view.ViewRoot.invalidateChild(ViewRoot.java:607)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.view.ViewRoot.invalidateChildInParent(ViewRoot.java:633)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.view.ViewGroup.invalidateChild(ViewGroup.java:2505)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.view.View.invalidate(View.java:5139)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.widget.TextView.checkForRelayout(TextView.java:5364)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.widget.TextView.setText(TextView.java:2688)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.widget.TextView.setText(TextView.java:2556)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.widget.TextView.setText(TextView.java:2531)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at com.work.Handler2Activity$MyHandler.handleMessage(Handler2Activity.java:66)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.os.Handler.dispatchMessage(Handler.java:99)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.os.Looper.loop(Looper.java:123)
02-01 17:32:34.637: E/AndroidRuntime(9632):  at android.os.HandlerThread.run(HandlerThread.java:60)
求各位大牛给予解答。PS:我知道它的意思是不能在UI线程中做复杂的事,但是我用了HandlerThread来处理的啊?