当前位置: 代码迷 >> Android >> android thread跟handle通信
  详细解决方案

android thread跟handle通信

热度:48   发布时间:2016-05-01 10:10:14.0
android thread和handle通信 ?
我要实现,按下按钮后产生一个线程,然后线程 吧消息传给 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:  
  相关解决方案