Handler背景理解: Handler被最多的使用在了更新UI线程中,但是,这个方法具体是什么样的呢?我在这篇博文中先领着大家认识一下什么是handler以及它是怎么样使用在程序中,起着什么样的作用。 示例说明: 首先先建立两个按钮:一个是start按钮,作用是开启整 ...
Handler背景理解:
Handler被最多的使用在了更新UI线程中,但是,这个方法具体是什么样的呢?我在这篇博文中先领着大家认识一下什么是handler以及它是怎么样使用在程序中,起着什么样的作用。
示例说明:
首先先建立两个按钮:一个是start按钮,作用是开启整个程序。另一个是终止按钮end,作用是结束整个的程序。这两个按钮的相互对比就会让大家明白Handlerd的基本的工作原理。
运行结果截图:
MainActivity.class
package com.example.testhandler;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity { private Button start,end; //实例化一个handler对象 private Handler handler = new Handler(); //开启一个新的线程:开启线程有两种方式,一种是使用普通的Thread方法,另一个中是使用Runnable方法 Runnable update = new Runnable() { @Override public void run() { System.out.println("update"); handler.postDelayed(update, 3000); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); start = (Button)this.findViewById(R.id.btn_start); end = (Button)this.findViewById(R.id.btn_end); start.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //加入到队列中去执行 handler.post(update); } }); end.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //将消息移除队列中去 handler.removeCallbacks(update); } }); }}
原标题:Android之Handler探索
关键词:Android
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。