gpt4 book ai didi

java - 如何使用 Android CountDownTimer 倒计时

转载 作者:行者123 更新时间:2023-12-01 06:50:24 24 4
gpt4 key购买 nike

我是新来的,也是 Android 开发新手,我有一个关于 Android CountDownTimer 的问题。我如何使用 Android 的 CountDownTimer 倒计时到特定日期,比如说 2015 年 11 月 6 日?另外我如何将 Java 代码与相应的 XML 代码一起使用?

我对这个问题( how to countdown to a date )很感兴趣,但无法真正理解发生了什么?有人能抽出一点时间来帮助我吗?

谢谢

最佳答案

这就是你要做的

更新3

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.your_layout);

TextView tv_countdown = (TextView) findViewById(R.id.your_textview_id);

Calendar start_calendar = Calendar.getInstance();
Calendar end_calendar = Calendar.getInstance();

long start_millis = start_calendar.getTimeInMillis(); //get the start time in milliseconds
long end_millis = end_calendar.getTimeInMillis(); //get the end time in milliseconds
long total_millis = (end_millis - start_millis); //total time in milliseconds
end_calendar.set(2015, 10, 6); // 10 = November, month start at 0 = January

//1000 = 1 second interval
CountDownTimer cdt = new CountDownTimer(total_millis, 1000) {
@Override
public void onTick(long millisUntilFinished) {
long days = TimeUnit.MILLISECONDS.toDays(millisUntilFinished);
millisUntilFinished -= TimeUnit.DAYS.toMillis(days);

long hours = TimeUnit.MILLISECONDS.toHours(millisUntilFinished);
millisUntilFinished -= TimeUnit.HOURS.toMillis(hours);

long minutes = TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished);
millisUntilFinished -= TimeUnit.MINUTES.toMillis(minutes);

long seconds = TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished);

tv_countdown.setText(days + ":" + hours + ":" + minutes + ":" + seconds); //You can compute the millisUntilFinished on hours/minutes/seconds
}

@Override
public void onFinish() {
tv_countdown.setText("Finish!");
}
};
cdt.start();
}

关于java - 如何使用 Android CountDownTimer 倒计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32773659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com