android开发步步为营之61:android定时任务之Handler.postDelayed

来源:互联网 发布:法院网络拍卖规定 编辑:程序博客网 时间:2024/06/05 21:06
/** *  */package com.figo.study;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;import android.widget.Toast;/** * @author figo *  */public class HandlerActivity extends Activity {private Button btnHandler, btnClose;private Handler handler;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_handler);handler = new Handler();btnHandler = (Button) findViewById(R.id.btnHandler);btnClose = (Button) findViewById(R.id.btnClose);// 开始执行定时任务btnHandler.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 1秒后执行runhandler.postDelayed(run, 1000);}});// 关闭定时任务btnClose.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {handler.removeCallbacks(run);}});}// 其实是运行在UI主线程Runnable run = new Runnable() {@Overridepublic void run() {// 这里new 一个AsyncTask或者Thread执行耗时任务,否则报ANR的bugToast.makeText(HandlerActivity.this, "test", Toast.LENGTH_SHORT).show();// 每隔5秒后执行run方法handler.postDelayed(this, 5000);}};}

0 0
原创粉丝点击