首页 > 其他 > 详细

使用Toast的setText()实现倒计时

时间:2014-03-20 04:33:01      阅读:560      评论:0      收藏:0      [点我收藏+]

点击按钮发送短信以后,倒计时3秒钟后退出Activity。本来想用弹出多个Toast的方法实现,后来发现效果不好,因为Toast.LENGTH_LONG显示3秒钟,Toast.LENGTH_SHORT显示2秒钟,如果每秒倒计时一次,后面的Toast弹出来时,前面的Toast还没有消失。用Toast的setText()方法解决了这个问题。

TimerTask和Handler变量:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
TimerTask task = new TimerTask(){ 
      public void run() { 
      Message message = new Message();    
      handler.sendMessage(message);   
   
};
 
final Handler handler = new Handler(){ 
    public void handleMessage(Message msg) {
        Log.v("num=", String.valueOf(num));
        num++;
        if (num < 5){
            tst.setText(String.valueOf(4-num) +"秒后退出!");
        }
        else
        {
            timer.cancel();
            sndActivity.this.finish();
        }
    };
};

按钮点击事件:

1
2
3
4
5
6
7
8
9
10
11
12
btnSend.setOnClickListener(new View.OnClickListener() {
     
    @Override
    public void onClick(View v) {
        sendMsg();
        tst = Toast.makeText(context, "短信已发送!", Toast.LENGTH_LONG);
        tst.show();
        num = 0;
        timer = new Timer(true);
        timer.schedule(task, 1000, 1000);
    }
});

其中tst是Toast变量。

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

  

使用Toast的setText()实现倒计时,布布扣,bubuko.com

使用Toast的setText()实现倒计时

原文:http://www.cnblogs.com/mstk/p/3612309.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!