android Timer 定时器 更新UI

本文介绍如何利用Timer结合Handler实现UI的定时更新。通过创建自定义的TimerTask,并使用scheduleAtFixedRate方法设置任务周期,再借助Handler进行UI线程的消息传递,实现了在主线程中更新界面元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用Timer的时候经常遇到需要更新UI。因为Timer的执行事件是子线程,是无法直接操作UI的。这时候要使用到 Handler

Timer 主要属性  scheduleAtFixedRate(要执行的方法,开启后多久执行,间隔时间多久执行) ;

scheduleAtFixedRate(new MyTask(),0,1000);//我有一个MyTask类在0毫秒后执行,每间隔1秒执行一次

zhxct=((TextView)findViewById(R.id.zhixingcount));//我窗体上的空间

   class MyTask extends java.util.TimerTask{ 
       @Override
       public void run() {
        // if(i==10)
        // this.cancel();
           // TODO Auto-generated method stub
       
           i++;
           //System.out.println(i);
           //异步操作页面
           Bundle bundle = new Bundle();
        bundle.putInt("zxc", i);
Message mag=new Message();
mag.setData(bundle);
han.sendMessage(mag);
           
       }
   }

//更新UI

 private Handler han=new Handler(){
    public void handleMessage(Message msg)
    {
    Bundle bundle= msg.getData();
    int s= bundle.getInt("zxc");
    zhxct.setText("执行次数:"+s);
    }
   
   };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值