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

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

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

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

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

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

(1)public abstract void onTick(long millisUntilFinished);
固定間隔被調(diào)用
(2)public abstract void onFinish();
倒計(jì)時(shí)完成時(shí)被調(diào)用
(3)public synchronized final void cancel():
取消倒計(jì)時(shí),當(dāng)再次啟動(dòng)會(huì)重新開(kāi)始倒計(jì)時(shí)
(4)public synchronized final CountDownTimer start():
啟動(dòng)倒計(jì)時(shí)

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

簡(jiǎn)單看一下代碼:

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);
 }

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

 /**
 * 開(kāi)始倒計(jì)時(shí)
 * @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("獲取驗(yàn)證碼");
 }
 };
}

順帶附上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="結(jié)束" />

</LinearLayout>

最后說(shuō)明一下:

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Android開(kāi)發(fā)之MP4文件轉(zhuǎn)GIF文件

    詳解Android開(kāi)發(fā)之MP4文件轉(zhuǎn)GIF文件

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

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

    這是一個(gè)安卓智能聊天機(jī)器人的源碼,采用了仿微信的風(fēng)格設(shè)計(jì),調(diào)用的是圖靈機(jī)器人的API,能夠?qū)崿F(xiàn)智能聊天、講故事、講笑話、查天氣、查公交等豐富的功能
    2015-11-11
  • EditText限制小數(shù)點(diǎn)前后位數(shù)的實(shí)例

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

    下面小編就為大家?guī)?lái)一篇EditText限制小數(shù)點(diǎn)前后位數(shù)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • 實(shí)例詳解Android中JNI的使用方法

    實(shí)例詳解Android中JNI的使用方法

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

    Android自定義view實(shí)現(xiàn)標(biāo)簽欄功能(只支持固定兩個(gè)標(biāo)簽)

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

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

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

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

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

    Android編譯的注意事項(xiàng)

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

    Android SeekBar實(shí)現(xiàn)禁止滑動(dòng)

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

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

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

最新評(píng)論

合肥市| 扎囊县| 宜春市| 元谋县| 廉江市| 汾阳市| 富阳市| 凉城县| 抚松县| 晋江市| 湖南省| 洛浦县| 金堂县| 遂平县| 娄底市| 丹江口市| 沙洋县| 抚远县| 麦盖提县| 股票| 阜康市| 班玛县| 胶州市| 承德市| 苍溪县| 阳东县| 淄博市| 盐津县| 定南县| 垦利县| 潞西市| 湖南省| 昭觉县| 阳高县| 双桥区| 江安县| 宁夏| 崇信县| 江门市| 高雄县| 莱芜市|