android使用handler ui线程和子线程通讯更新ui示例
2019/7/7 20:16:05
本文主要是介绍android使用handler ui线程和子线程通讯更新ui示例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.act262.sockettx;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
/**
* 可以在其他线程中获取View类的数据,但是不能修改或者设置View类的数据
*
*/
public class Main extends Activity {
TextView result = null;
EditText get = null;
Button update = null;
Handler handler;
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.main);
result = (TextView) findViewById(R.id.result);
update = (Button) findViewById(R.id.update);
get = (EditText) findViewById(R.id.get);
handler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == 1) {
result.setText("after update ui "
+ msg.getData().getString("data")
+ " \nman thread : "
+ Thread.currentThread().getName());
}
}
};
result.setText("before update ui main thread : "
+ Thread.currentThread().toString());
update.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new MyThread("my thread").start();
}
});
}
class MyThread extends Thread {
public MyThread(String name) {
super(name);
}
@Override
public void run() {
// 发送不带数据的消息
// handler.sendEmptyMessage(1);
// 发送附带数据的消息
Message msg = new Message();
Bundle data = new Bundle();
data.putString("data", get.getText().toString() + " my thread: "
+ Thread.currentThread().getName());
msg.setData(data);
msg.what = 1;
handler.sendMessage(msg);
}
}
}
这篇关于android使用handler ui线程和子线程通讯更新ui示例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-18android.permission.read_media_video
- 2024-01-18android_getaddrinfo failed eai_nodata
- 2024-01-18androidmo
- 2024-01-15Android下三种离屏渲染技术
- 2024-01-09Android 蓝牙使用
- 2024-01-06Android对接华为AI - 文本识别
- 2023-11-15代码安全之代码混淆及加固(Android)
- 2023-11-10简述Android语音播报TTS
- 2023-11-06Android WiFi工具类
- 2023-07-22Android开发未来的出路