安卓实现倒计时

1,计时器实现代码

public class MainActivity extends Activity implements OnClickListener{
 
 private EditText inputet;
 private Button getTime,startTime,stopTime;
 private TextView time;
 private int i = 0;
 private Timer timer = null;
 private TimerTask task = null;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }
    
    private void initView(){
     inputet = (EditText) findViewById(R.id.inputtime);
        getTime = (Button) findViewById(R.id.gettime);
        startTime = (Button) findViewById(R.id.starttime);
        stopTime = (Button) findViewById(R.id.stoptime);
        time = (TextView) findViewById(R.id.time);
        getTime.setOnClickListener(this);
        startTime.setOnClickListener(this);
        stopTime.setOnClickListener(this);
    }
 @Override
 public void onClick(View v) {
  switch (v.getId()) {
  case R.id.gettime:
   time.setText(inputet.getText().toString());
   i = Integer.parseInt(inputet.getText().toString());
   break;
  case R.id.starttime:
   startTime();
   break;
  case R.id.stoptime:
   stopTime();
   break;
  }
 }
 
 private Handler mHandler = new Handler(){
  public void handleMessage(Message msg) {
   time.setText(msg.arg1+"");
   startTime();
  };
 };
 
 public void startTime(){
  timer = new Timer();
  task = new TimerTask() {
   
   @Override
   public void run() {
    i--;
    Message  message = mHandler.obtainMessage();
    message.arg1 = i;
    mHandler.sendMessage(message);
   }
  };
  timer.schedule(task, 1000);
 }
 
 public void stopTime(){
  timer.cancel();
 }
    
}
时间: 2024-10-27 09:55:18

安卓实现倒计时的相关文章

安卓验证码倒计时实现

安卓为验证码倒计时提供了一个很方便的类android.os.CountDownTimer 其使用方法: new CountDownTimer(30000, 1000) { public void onTick(long millisUntilFinished) { mTextField.setText("seconds remaining: " + millisUntilFinished / 1000); } public void onFinish() { mTextField.se

安卓倒计时实例

安卓实现倒计时,下面的例子是10秒的倒计时 public class PowerOff extends Activity { TextView textView; CountDownTimer timer; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindo

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

安卓CountDownTimer实现全民夺宝抢购倒计时和短信验证码倒计时

在sina里看到了什么全民夺宝的链接,然后忍不住1元的诱惑被坑了10多块,什么都没有抽到,但是还是有人抽到了不知道是不是坑爹的,然后也就动手做一下倒计时的功能. 先看全民夺宝: 说起这个功能是不是感觉so easy,然后就以此来搞2个倒计时效果,顺便也学习一下CountDownTimer的使用. 哈哈,看看今天实现的效果图: 回顾 常用的倒计时方式 方法一 Timer与TimerTask(Java实现) public class timerTask extends Activity{ priva

安卓发送验证码倒计时效果和自动获取验证码并填充到输入框

在注册,实名认证.修改手机号码的,我们都会用发送验证码的功能,在这里经常就会涉及到2个效果, 第一个:发送验证码倒计时效果: 第二个:自动获取接收到的短信,并且填充验证码. 先来说倒计时效果: 其实很简单,就是一个计时器.每秒刷新一次,倒计时完了.就可以重新点击获取了. <pre name="code" class="java">btn_getYzm.setEnabled(false); btn_getYzm.setBackgroundResource(

对安卓获取验证码倒计时60秒Button按钮的简单封装

鉴于经常在注册获取验证码时候需要一个倒计时按钮觉得很麻烦,抽点时间写了一个TimeButton 键鼠下特性, TimeButton使用的时候跟普通Button一样没有冲突, TimeButton在倒计时的时候返回了如果没有超过剩下的时间再次进入会继续跑时哦, TimeButton里面完成了按钮的点击显示和倒计时逻辑, TimeButton在activity销毁后也会销毁不会像线程一样还在后台跑, TimeButton的显示文字和倒计时都可以自行设置当然也有默认的, 原创地址 http://wri

【热门APP用户体验分析】购物类APP之王——淘宝安卓版(二)

在上一篇的文章中,简单的介绍了一下淘宝客户端的首页的导航栏,还有一些小的细节问题,这一篇,我们还是继续剖析淘宝客户端安卓版. 我们首先还是先放出淘宝的主界面 在这个界面中,最上方是一个广告栏,可以点击进入对应的活动界面.广告栏可以手动的滑动,而且滑动体验非常好,在使用其他软件的时候,会发生左右广告栏的滑动和上下的刷新滑动出现冲突的情况,表现出来就是界面一直在颤动,但是淘宝的广告栏做的非常好,只要在广告栏的区域滑动,触摸焦点就会被锁定,不会发生手势冲突的情况,淘宝的开发者应该是重写了控件的触摸事件

Android实现计时与倒计时(限时抢购)的几种方法

在购物网站的促销活动中一般都有倒计时限制购物时间或者折扣的时间,这些都是如何实现的呢? 在一个安卓客户端项目中恰好遇到了类似的问题,一开始使用的是Timer与 TimerTask, 虽然此方法通用,但后来考虑在安卓中是否有更佳的方案,于是乎共找到以下五种实现方案,另外还有一种使用CountDownTimer进行计时的方面,我 会在单独的文章中进行介绍 效果如图: 方法一 Timer与TimerTask(Java实现) [java] view plaincopy public class time

new Date()在安卓下正常,在IOS下显示不出来

之前用JS在做一个倒计时,在PC端和安卓下面显示没问题,在IOS下显示不出来. 查找了资料,链接我忘记了. 原因是: 在IOS下,new Date("2000-2-22 00:10"),返回的是undefined,因为IOS不支持这种类型格式. 解决方案: 更换下格式:new Date("2000/2/22") 可以正常显示.