Android 倒计时类

前言:
在考试APP和网络培训上有很多的应用,自己写的CounterTimer类.

测试用小例子:

package com.elvis.cnttimer;

import android.os.Bundle;
import android.os.CountDownTimer;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.view.Window;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

    private TextView txtView;
    private MyCnt mCnt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txtView = (TextView)findViewById(R.id.textView1);

        mCnt = new MyCnt(2*1000*3600,1000);
        mCnt.start();


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }


    public class MyCnt extends CountDownTimer{

        public MyCnt(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
            // TODO Auto-generated constructor stub
        }

        @Override
        public void onFinish() {
            // TODO Auto-generated method stub

            Toast.makeText(MainActivity.this, "时间到了...", Toast.LENGTH_SHORT);

        }

        @Override
        public void onTick(long m) {
            // TODO Auto-generated method stub

             // m 是微秒为单位的
             //小时 设置
             int myHour = (int)((m/1000)/3600);
             String myHourStr = myHour + "";
             if(myHourStr.length() < 2) 
             {
                 myHourStr = "0" + myHourStr;
             }

             //分钟设置
             int myMin = (int)(((m/1000)- myHour *3600)/60);
             String myMinStr = myMin + "";
             if(myMinStr.length() < 2) 
             {
                 myMinStr = "0" + myMinStr;
             }

             //秒设置

             int mySec= (int)((m/1000)- myHour *3600 - myMin * 60);
             String mySecStr = mySec + "";
             if(mySecStr.length() < 2) 
             {
                 mySecStr = "0" + mySecStr;
             }

             txtView.setTextSize(22);
             txtView.setTextColor(Color.RED);
             txtView.setText("倒计时 \n\n" + myHourStr + "/" + myMinStr + "/" + mySecStr);

        }


    }



}

注意:
super.onCreate(savedInstanceState);
去掉这句话程序不能运行.因为父类的onCreate()完成了很多我们不能接触的事情来确保我们的app能顺利运行.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值