3 回答

TA貢獻1712條經驗 獲得超3個贊
根據要求,這里是一次嘗試。請注意,該答案尚未經過測試。
所有與 不相關的數據Time均已被刪除。
int timeInMinutes = 1;
countDownTimer = new CountDownTimer(timeInMinutes * 60000, 1000) {
public void onTick(long millisUntilFinished) {
Time time = new Time(millisUntilFinished);
final int hours = time.getHours();
final int min = time.getMinutes();
final int scnds = time.getSeconds();
countdownText.setText("" + scnds);
}
public void onFinish() {
// Everytime the countDown stops restart it?
//countDownTimer.start();
}
}.start();

TA貢獻1783條經驗 獲得超4個贊
我相信這讓我走上了正確的軌道,雖然它顯然不正確,因為 .getHours 和 .getMinutes 顯然自 api 14 以來已經貶值了。我發現我可以進行比較,然后根據時間進行設置
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int timeinminutes = 1;
countDownTimer = new CountDownTimer(timeinminutes * 60000, 1000) {
public void onTick(long millisUntilFinished) {
Time time = new Time(millisUntilFinished);
final int hours = time.compareTo(Calendar.getInstance().getTime()); //added a compareto and set that against what the current time is
final int min = time.getMinutes();
//final int scnds = time.getSeconds();
long scnds = 1;
scnds = (millisUntilFinished / 1000);
countdownText.setText("" + scnds);
countdownHours.setText("" +hours); // sets to ID of textview
}
public void onFinish() {
countDownTimer.start();
}
}.start();
當我測試它時,它說 1 小時(當前時間是 22:54),所以我確定它是正確的,但我必須明天檢查。但謝謝你給我指明了正確的方向 :D 我現在需要做的就是弄清楚如何抵消時間,所以目前應該是 4 小時

TA貢獻1805條經驗 獲得超10個贊
從互聯網上搜索了很多之后,我無法獲得任何內置功能。也許有任何功能,但對我來說,我習慣做這樣的代碼,它確實對我有用。只需復制粘貼它并根據您的文本視圖設置timerTV。
var cT: CountDownTimer? = null
fun timer() {
val calendar = Calendar.getInstance()
calendar.time
Log.d("Current time: ", calendar.time.toString())
val hourCurrent = calendar.get(Calendar.HOUR)
val minutCurrent = calendar.get(Calendar.MINUTE)
val secondCurrent = calendar.get(Calendar.SECOND)
var hourSub = 24 - hourCurrent
var minSub = 60 - minutCurrent
var secSub = 60 - secondCurrent
cT = object : CountDownTimer(1000, 1000) {
override fun onTick(millisUntilFinished: Long) {
timerTV.setText("$hourSub:$minSub:$secSub")
}
override fun onFinish() {
timer()
}
}
cT?.start()
}
override fun onDestroy() {
super.onDestroy()
cT?.cancel()
}
添加回答
舉報