最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)倒計時CountDownTimer使用詳解

 更新時間:2017年12月27日 16:20:19   作者:Adan0520  
這篇文章主要為大家詳細介紹了Android實現(xiàn)倒計時CountDownTimer的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在開發(fā)中會經(jīng)常用到倒計時這個功能,包括給手機發(fā)送驗證碼等等,之前我的做法都是使用Handler + Timer + TimerTask來實現(xiàn),現(xiàn)在發(fā)現(xiàn)了這個類,果斷拋棄之前的做法,相信還是有很多人和我一樣一開始不知道Android已經(jīng)幫我們封裝好了一個叫CountDownTimer的類。

從字面上就可以看出來它叫倒數(shù)計時器又稱定時器或計時器,采用Handler的方式實現(xiàn),將后臺線程的創(chuàng)建和Handler隊列封裝而成。

看了一下源碼,發(fā)現(xiàn)這個類的調用還蠻簡單,只有四個方法:

(1)public abstract void onTick(long millisUntilFinished);
固定間隔被調用
(2)public abstract void onFinish();
倒計時完成時被調用
(3)public synchronized final void cancel():
取消倒計時,當再次啟動會重新開始倒計時
(4)public synchronized final CountDownTimer start():
啟動倒計時

在這里可以看到前面兩個是抽象方法,需要重寫。

簡單看一下代碼:

package com.per.countdowntimer;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends Activity {
 private TextView mTvShow;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 mTvShow = (TextView) findViewById(R.id.show);
 }

 /**
 * 取消倒計時
 * @param v
 */
 public void oncancel(View v) {
 timer.cancel();
 }

 /**
 * 開始倒計時
 * @param v
 */
 public void restart(View v) {
 timer.start();
 }

 private CountDownTimer timer = new CountDownTimer(10000, 1000) {

 @Override
 public void onTick(long millisUntilFinished) {
  mTvShow.setText((millisUntilFinished / 1000) + "秒后可重發(fā)");
 }

 @Override
 public void onFinish() {
  mTvShow.setEnabled(true);
  mTvShow.setText("獲取驗證碼");
 }
 };
}

順帶附上XML布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:background="@android:color/white"
 android:orientation="vertical"
 android:padding="16dp">

 <TextView
 android:id="@+id/show"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/hello_world" />

 <Button
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginTop="10dp"
 android:onClick="restart"
 android:text="取消" />

 <Button
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginTop="10dp"
 android:onClick="oncancel"
 android:text="結束" />

</LinearLayout>

最后說明一下:

CountDownTimer timer = new CountDownTimer(10000, 1000):以毫秒為單位,第一個參數(shù)是指從開始調用start()方法到倒計時完成的時候onFinish()方法被調用這段時間的毫秒數(shù),也就是倒計時總的時間;第二個參數(shù)表示間隔多少毫秒調用一次 onTick方法,例如間隔1000毫秒。
在調用的時候直接使用timer.start();

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 詳解Android開發(fā)之MP4文件轉GIF文件

    詳解Android開發(fā)之MP4文件轉GIF文件

    這篇文章介紹的是將錄下來的視頻選取一小段轉為 GIF 文件,不僅時間段可以手動選取,而且還需要支持截取視頻的局部區(qū)域轉為 GIF,網(wǎng)上調研了一下技術方案,覺得還是有必要把實現(xiàn)過程拿出來分享下,有需要的可以直接拿過去用。下面來一起看看。
    2016-08-08
  • 安卓(Android)聊天機器人實現(xiàn)代碼分享

    安卓(Android)聊天機器人實現(xiàn)代碼分享

    這是一個安卓智能聊天機器人的源碼,采用了仿微信的風格設計,調用的是圖靈機器人的API,能夠實現(xiàn)智能聊天、講故事、講笑話、查天氣、查公交等豐富的功能
    2015-11-11
  • EditText限制小數(shù)點前后位數(shù)的實例

    EditText限制小數(shù)點前后位數(shù)的實例

    下面小編就為大家?guī)硪黄狤ditText限制小數(shù)點前后位數(shù)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 實例詳解Android中JNI的使用方法

    實例詳解Android中JNI的使用方法

    JNI是Java Native Interface的縮寫,它提供若干的API實現(xiàn)Java與其他語言之間的通信,這篇文章主要給大家介紹了關于Android中JNI的使用方法,需要的朋友可以參考下
    2021-08-08
  • Android自定義view實現(xiàn)標簽欄功能(只支持固定兩個標簽)

    Android自定義view實現(xiàn)標簽欄功能(只支持固定兩個標簽)

    這篇文章主要介紹了Android自定義view實現(xiàn)標簽欄(只支持固定兩個標簽),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Android實現(xiàn)獲取未接來電和未讀短信數(shù)量的方法

    Android實現(xiàn)獲取未接來電和未讀短信數(shù)量的方法

    這篇文章主要介紹了Android實現(xiàn)獲取未接來電和未讀短信數(shù)量的方法,是Android程序開發(fā)中非常常見的重要功能,需要的朋友可以參考下
    2014-08-08
  • Android返回鍵功能的實現(xiàn)方法

    Android返回鍵功能的實現(xiàn)方法

    這篇文章主要介紹了Android返回鍵功能的實現(xiàn)方法,實例分析了Android返回鍵的原理與具體的功能實現(xiàn)代碼,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • Android編譯的注意事項

    Android編譯的注意事項

    今天小編就為大家分享一篇關于Android編譯的注意事項,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Android SeekBar實現(xiàn)禁止滑動

    Android SeekBar實現(xiàn)禁止滑動

    這篇文章主要為大家詳細介紹了Android SeekBar實現(xiàn)禁止滑動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Android車載空調系統(tǒng)(HVAC)開發(fā)方法分析

    Android車載空調系統(tǒng)(HVAC)開發(fā)方法分析

    HVAC?全稱:供暖通風與空氣調節(jié)(Heating?Ventilation?and?Air?Conditioning),用戶可以通過他來控制整個汽車的空調系統(tǒng),是汽車中非常重要的一個功能,汽車的空調HMI雖然并不復雜,但是大多都是用符號來表示功能,必須理解空調的各個符號表示的含義
    2023-12-12

最新評論

团风县| 格尔木市| 稻城县| 邮箱| 江西省| 石渠县| 崇礼县| 高雄市| 怀化市| 张家口市| 龙岩市| 韶关市| 西乌| 郯城县| 武山县| 宿州市| 苏尼特左旗| 泰顺县| 东海县| 大冶市| 福海县| 满洲里市| 葫芦岛市| 星子县| 香港| 淮南市| 天祝| 东乌| 纳雍县| 桃源县| 正阳县| 县级市| 米易县| 清远市| 浦北县| 仪陇县| 德化县| 蒲江县| 黄陵县| 类乌齐县| 阳西县|