中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Android中使用CountDownTimer實現倒計時

發布時間:2021-03-29 17:25:56 來源:億速云 閱讀:204 作者:Leah 欄目:移動開發

怎么在Android中使用CountDownTimer實現倒計時?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

(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) + "秒后可重發");
 }

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

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

门头沟区| 高要市| 霍林郭勒市| 海阳市| 剑河县| 贵南县| 资中县| 监利县| 金华市| 灵山县| 襄樊市| 曲松县| 邳州市| 济宁市| 台东市| 滁州市| 简阳市| 桑日县| 巴青县| 琼中| 阿鲁科尔沁旗| 姚安县| 拉孜县| 桐梓县| 招远市| 周口市| 邹城市| 凤阳县| 锡林郭勒盟| 建昌县| 达日县| 清远市| 太谷县| 江华| 美姑县| 保康县| 苏州市| 安康市| 台前县| 新源县| 平潭县|