- import java.util.Timer;
- import java.util.TimerTask;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.widget.Button;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- TextView text1,text2, text3;
- Button button;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- text1 = (TextView) findViewById(R.id.info1);
- text2 = (TextView) findViewById(R.id.info2);
- text3 = (TextView) findViewById(R.id.info3);
- button = (Button)findViewById(R.id.button1);
- //第一种刷新Timer,TimerTask
- timer.schedule(new TimerTask() {
- @Override
- public void run() {
- handler.sendEmptyMessage(0);
- }
- }, 0, 1000);//延时0秒后每隔1秒刷新一次。
- //结束timer调用:
- //timer.cancel();
- //第二种mHandler.postDelayed(runnable, 1000);
- mHandler.removeCallbacks(runnable);
- mHandler.postDelayed(runnable, 1000);
- //结束mHandler调用
- //mHandler.removeCallbacks(runnable);
- //第三种调用2次showHandler.sendMessageDelayed(message, 1000);形成循环。
- startShowUI();
- //取消startShowUI()的调用
- //showHandler.removeMessages(0);
- }
- //第一种方法
- Timer timer = new Timer();
- private int temp1 = 0;
- private Handler handler = new Handler(){
- public void handleMessage(Message msg) {
- text1.setText("count temp1 = " + temp1);
- temp1++;
- };
- };
- //第二种方法
- private int temp2 = 0;
- private Handler mHandler = new Handler();
- private Runnable runnable = new Runnable() {
- @Override
- public void run() {
- text2.setText("count temp2 = " + temp2);
- temp2++;
- mHandler.postDelayed(runnable, 1000);
- }
- };
- //第三种方法
- private Handler showHandler;
- private int temp3 = 0;
- private void startShowUI(){
- showHandler = new Handler(){
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- text3.setText("count temp3 = " + temp3);
- temp3++;
- Message message = handler.obtainMessage(0);
- showHandler.sendMessageDelayed(message, 1000);
- }
- };
- Message message = handler.obtainMessage(0);
- showHandler.sendMessageDelayed(message, 1000);
- }
- }
Android常用的3种定时刷新UI的方法和子线程能否刷新UI那些事
最新推荐文章于 2024-05-14 05:04:48 发布