我要实现,按下按钮后产生一个线程,然后线程 吧消息传给 handle ,在handle中设置textview的显示内容,但是我发现,我的不能设置 textview的显示内容,不知道哪里错了,求教~~我的代码很简单,我觉得应该没有是问题的:
package com.FJICC.lzm;
import .....
public class tcp_server extends Activity{
private Button serverStart_btn;
private Button serverStop_btn;
private TextView receivedata_tv;
private Button setport_btn;
private EditText senddata_et;
private Button send_btn;
public int PORT = 8080;
public Handler mHandler;
protected static final int GUINOTIFIER = 0x1234;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tcpserver_main);
serverStart_btn=(Button)findViewById(R.id.btnStart);
serverStop_btn=(Button)findViewById(R.id.btnStop);
setport_btn=(Button)findViewById(R.id.btnSet);
send_btn=(Button)findViewById(R.id.btnSend);
senddata_et=(EditText)findViewById(R.id.et_send);
receivedata_tv=(TextView)findViewById(R.id.tv_receive);
serverStart_btn.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
serverStart_btn.setEnabled(false);
setport_btn.setEnabled(false);
serverStop_btn.setEnabled(true);
new Thread()
{
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
Message m = new Message();
m.what = tcp_server.GUINOTIFIER;
tcp_server.this.mHandler.sendMessage(m);
}catch(IOException e){
e.printStackTrace();
}
}
}.start();
}
});
mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case tcp_server.GUINOTIFIER: