Andriod Handler更新UI

来源:互联网 发布:淘宝开店培训骗局 编辑:程序博客网 时间:2024/05/18 03:38

Andriod Handler更新UI

首先看源代码:

public class MainActivity extends Activity {

private Button but;

private TextView show;

public EditText edit;

public static String Msg="";

private Handler hand;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

show=(TextView)findViewById(R.id.show);

edit=(EditText)findViewById(R.id.edit);

but=(Button)findViewById(R.id.but);

but.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View arg0) 

{

/*创建线程,用于发送(send)信息*/

new Thread(new Runnable(){

@Override

public void run() {

Message m=hand.obtainMessage();

/*重载的handleMessage将对这个Message对象进行处理*/

hand.sendMessage(m);

//Toast.makeText(MainActivity.this, "执行sendMessage", 2000).show();

}}).start();

}

});

/*对Ui进行更新*/

hand=new Handler(){

@Override

public void handleMessage(Message msg)

{

show.setText(Msg);

              edit.setText("");

super.handleMessage(msg);

}

};

结构十分清晰:1,开启线程—>线程中创建Message对象msg>Handler调用sendMessage(msg)

             2,实例化Handler对象,重写handleMessage(Message msg)方法,这个方法与sendMessage(msg)对应,UI的更新在这个函数里实现

0 0
原创粉丝点击