日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

倒计时的CountDownTimer

發布時間:2024/4/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 倒计时的CountDownTimer 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
直接看這里吧,我只是搬運工。 ?

定時執行在一段時候后停止的倒計時,在倒計時執行過程中會在固定間隔時間得到通知(譯者:觸發onTick方法),下面的例子顯示在一個文本框中顯示一個30s倒計時:?
Java代碼??
  • new?CountdownTimer(30000,?1000)?{??
  • ?????public?void?onTick(long?millisUntilFinished)?{??
  • ?????????mTextField.setText("seconds?remaining:?"?+?millisUntilFinished?/?1000);??
  • ?????}??
  • ?????public?void?onFinish()?{??
  • ?????????mTextField.setText("done!");??
  • ?????}??
  • ?}.start();???

  • onTick的調用是同步的,保證這次調用不會在之前調用完成前發生。這里的同步機制主要是用來:onTick的實現需要很多時間執行比倒計時間隔更重要的事情。?

    構造函數?
    ???????? public CountDownTimer (long millisInFuture, long countDownInterval)?
    參數?
    ?????????????????? millisInFuture? 從開始調用start()到倒計時完成并onFinish()方法被調用的毫秒數。(譯者注:倒計時時間,單位毫秒)?
    ?????????????????? countDownInterval? 接收onTick(long)回調的間隔時間。(譯者注:單位毫秒)?

    公共方法?
    public final void cancel ()?
    ???????? 取消倒計時(譯者:取消后,再次啟動會重新開始倒計時)????????
    ??????????????????
    public abstract void onFinish ()?
    ???????? 倒計時完成時被調用????

    public abstract void onTick (long millisUntilFinished)?
    ???????? 固定間隔被調用?
    參數?
    ??????????????????????????? millisUntilFinished?? 倒計時剩余時間。?

    public synchronized final CountDownTimer start ()?
    ???????? 啟動倒計時?
    Java代碼??
  • import?android.app.Activity;??
  • import?android.os.Bundle;??
  • import?android.os.CountDownTimer;??
  • import?android.util.Log;??
  • import?android.view.View;??
  • import?android.view.View.OnClickListener;??
  • import?android.widget.Button;??
  • import?android.widget.TextView;??
  • ???
  • import?com.test.R;??
  • ???
  • public?class?CountDownTimeActivity?extends?Activity?implements?OnClickListener?{??
  • ???
  • ????TextView?mTextView;??
  • ????Button?mButton1;??
  • ????Button?mButton2;??
  • ?????
  • ????@Override??
  • ????protected?void?onCreate(Bundle?savedInstanceState)?{??
  • ???????super.onCreate(savedInstanceState);??
  • ????????
  • ???????setContentView(R.layout.countdown);??
  • ????????
  • ???????mTextView?=?(TextView)findViewById(R.id.textView1);??
  • ???????mButton1?=?(Button)findViewById(R.id.button1);??
  • ???????mButton2?=?(Button)findViewById(R.id.button2);??
  • ???????mButton1.setOnClickListener(this);??
  • ???????mButton2.setOnClickListener(this);??
  • ????}??
  • ???
  • ????CountDownTimer?timer?=?new?CountDownTimer(40000,1000)?{??
  • ????????
  • ???????@Override??
  • ???????public?void?onTick(long?millisUntilFinished)?{??
  • ???????????mTextView.setText("seconds?remaining:?"?+?millisUntilFinished?/?1000);??
  • ???????????try?{??
  • ??????????????Thread.sleep(1200);??
  • ???????????}?catch?(InterruptedException?e)?{??
  • ??????????????e.printStackTrace();??
  • ???????????}??
  • ???????????Log.e("CountDown",millisUntilFinished+"");??
  • ???????}??
  • ????????
  • ???????@Override??
  • ???????public?void?onFinish()?{??
  • ???????????mTextView.setText("done!");??
  • ???????}??
  • ????};??
  • ?????
  • ????@Override??
  • ????public?void?onClick(View?v)?{??
  • ???????switch(v.getId()){??
  • ???????case?R.id.button1:??
  • ???????????timer.start();??
  • ???????????break;??
  • ???????case?R.id.button2:??
  • ???????????timer.cancel();??
  • ???????????break;??
  • ???????}??
  • ????????
  • ????}??
  • } ?

  • @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activation);
    initView();
    resendBTCountDownTimer(resendBtn,false);
    }

    /**
    * 重發驗證碼按鈕倒計時操作
    * @param resendBtn
    * @param resendCode: false初始化并倒計時開始;true點擊次數倒計時開始并重新獲取驗證碼操作
    */
    public void resendBTCountDownTimer(final Button resendBtn,boolean resendCode){
    if(resendCount>5){
    resendBtn.setText(R.string.resentcode_5times_tips);
    resendBtn.setEnabled(false);
    resendBtn.setBackgroundResource(R.drawable.button_no_cliable);
    return;
    }else{
    new CountDownTimer(MILLIS_INFUTURE, COUNTDOWN_INTERVAL) {
    @Override
    public void onTick(long millisUntilFinished) {
    resendBtn.setEnabled(false);
    resendBtn.setBackgroundResource(R.drawable.button_no_cliable);
    resendBtn.setText(getString(R.string.regetcodeafter30s, millisUntilFinished/1000));
    }
    @Override
    public void onFinish() {
    resendBtn.setText(R.string.resend_code);
    resendBtn.setEnabled(true);
    resendBtn.setBackgroundResource(R.drawable.registbtn);
    }
    }.start();
    if(resendCode){
    resendCount++ ;
    regetCheckCodeFun();
    }
    }
    }

    總結

    以上是生活随笔為你收集整理的倒计时的CountDownTimer的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 午夜寂寞影院在线观看 | 不卡一区在线观看 | av片亚洲 | 国产精品无码久久久久 | 精品国产乱码一区二区三区99 | 欧美级毛片 | 成人欧美一区二区三区在线观看 | 国产黄色免费视频 | 国产在线一级片 | 一本一道久久综合狠狠老精东影业 | 国产精品免费久久久久 | 欧美h网站 | 久久精品人人爽 | 任你躁av一区二区三区 | 午夜av中文字幕 | 久久艹免费视频 | 特级西西人体444www | 天堂一区 | 国产欧美日韩精品在线观看 | 精品欧美一区二区三区免费观看 | 日韩av看片| 国产一区啪啪 | 成人精品视频在线播放 | 少妇高潮露脸国语对白 | 久久久久久综合 | 人妻丰满熟妇无码区免费 | 极品在线播放 | 打美女屁股网站 | 国产女人水真多18毛片18精品 | 中文日韩在线 | 成人在线观看亚洲 | 欧美高清视频一区 | 欧美三级一级 | 国产激情无套内精对白视频 | 欧美久久久一区二区三区 | 日韩成人av一区二区 | 亚洲无码一区二区三区 | 17草在线| 麻豆免费在线观看视频 | 老妇荒淫牲艳史 | 99热黄色| 亚洲精品久久久久久久久久久 | 久久久剧场 | 在线观看av资源 | 奇米色在线| 久久午夜国产精品 | 开心激情五月网 | 国产激情久久久 | www四虎精品视频免费网站 | 极品销魂美女一区二区 | 亚洲免费成人网 | 少妇人妻无码专区视频 | 九九爱国产 | 亚洲国产一级 | 国产乱码一区二区三区播放 | 成人自拍av| 日韩精品在线看 | 青青av| 色噜噜综合 | 亚洲精品中文字幕在线播放 | 亚洲色图20p | 婷婷伊人 | 国产对白在线 | 不卡av片| 免费国产视频在线观看 | 熟女人妻aⅴ一区二区三区60路 | av综合一区 | 精品自拍偷拍视频 | 麻豆av一区二区三区 | 国产人人插 | 欧美一区二区三区免 | 欧美日韩精品久久久免费观看 | 国产喷水福利在线视频 | 欧美10p | 亚洲一区二区精品视频 | 亚洲精品在线一区二区 | 丝袜高跟av | jlzzjlzz亚洲日本少妇 | 视频在线观看视频 | 中日韩黄色片 | 欧美一区二区三区大屁股撅起来 | 乳揉みま痴汉4在线播放 | 毛片传媒| 亚洲中文字幕一区 | 不卡视频一区二区 | 69av视频 | 在线观看的毛片 | 精品久久精品 | 中文字幕123| 国产黄片一区二区三区 | 极品熟妇大蝴蝶20p 国产偷自拍视频 | h小视频在线观看 | 好吊妞精品视频 | 一级α片免费看刺激高潮视频 | 亚洲男人天堂久久 | 黄色一级片av | 亚洲免费久久 | 超碰人人搞 | 成人福利网站在线观看 |