Android在子线程中更新UI(一)
16lz
2022-04-02
MainActivity如下:
package cc.testui1;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.app.Activity;/** * Demo描述: * 在子线程中更改UI的方式一 * * 在子线程中利用主线程的Handler的post()方法 * 更改UI这个在子线程中sendMessage()原理和 * 形式都很类似. * * 参考资料: * http://blog.csdn.net/guolin_blog/article/details/9991569 * Thank you very much */public class MainActivity extends Activity { private TextView mTextView; private Handler mHandler; private Button mButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();} private void init(){ mHandler=new Handler(); mTextView=(TextView) findViewById(R.id.textView); mButton=(Button) findViewById(R.id.button); mButton.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener{@Overridepublic void onClick(View v) {new Thread(){ public void run() { mHandler.post(new Runnable() {@Overridepublic void run() {mTextView.setText("My number is 007");}}); }; }.start();} }}
main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="test" android:layout_centerHorizontal="true" android:layout_marginTop="50dip" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:layout_centerHorizontal="true" android:layout_marginTop="120dip" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试在子线程中更新UI" android:layout_centerInParent="true" /></RelativeLayout>
更多相关文章
- android 时间戳与日期格式的互相转换 以及 自定义选择器
- android service 英文文档解析
- 改变android 选项卡的背景色
- Android(安卓)Handler线程间通信机制分析
- 详解Android中自定义View的invalidate,Handler和postInvalidate
- 【Android】Timer的使用
- android 时间戳与日期格式的互相转换 以及 自定义选择器
- android 刷新View
- android 多线程下载原理