Android异步消息处理机制
2016-03-16 15:13
302 查看
安卓子线程无法直接更改UI,所以需要异步消息处理机制来解决
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/change_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="change text" /> <TextView android:id="@+id/text_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Hello World" android:textSize="20sp"/> </LinearLayout>
package com.example.contacttest; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.Button; import android.widget.TextView; public class NotificationTest extends Activity implements View.OnClickListener{ private Button changeText; private TextView textContent; private static final int UPDATE_TEXT = 1; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what){ case UPDATE_TEXT: textContent.setText("Nice to meet you!"); break; default: break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notification_test); changeText = (Button)findViewById(R.id.change_text); textContent = (TextView)findViewById(R.id.text_content); changeText.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.change_text: new Thread(new Runnable() { @Override public void run() { Message message = new Message(); message.what = UPDATE_TEXT; handler.sendMessage(message); } }).start(); break; default: break; } } }
相关文章推荐
- Android Studio Log
- Android系统之路(初识MTK) ------ OTA打包ROM安装系统img等到ZIP
- Android设计模式-适配器模式
- 【DeskClock】开机闹钟横竖屏显示不同
- Android Studio的目录结构图文介绍
- Android学习系列(39)--Android主题和样式之系统篇(上)
- 深入浅出 - Android系统移植与平台开发(九)- JNI介绍
- 容易忽略的ADB命令(持续更新中)
- Android 属性动画(Property Animation)
- 让你自己写的Android的Launcher成为系统中第一个启动的,也是唯一的Launcher
- 从VC学习Android·序
- 安卓开发_intent的使用
- 选用合适的IPC方式
- Android--异步消息处理机制
- Android时间轴简单优化
- Android数据库自动升级
- Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
- Android 手机摇晃监听
- Android中Bitmap,byte[],Drawable,InputStream相互转化工具类
- 小米3Android开发学习笔记二