jjzjj

countDownTime

全部标签

android - CountDownTimer: "Can' t 在尚未调用 Looper.prepare() 的线程内创建处理程序”

我知道之前有人问过“无法在没有调用Looper.prepare()的线程内创建处理程序”的一般问题,但我很难理解它在这种情况下的应用方式。我正在尝试在非UI线程中构造一个新的CountDownTimer,我猜这是导致此错误的原因,但我不太明白为什么需要在主线程中使用计时器。据我所知,它似乎有一个回调处理程序,需要在具有循环程序的线程中运行,而非UI线程默认情况下没有循环程序。看来我的选择是:1)让这个非UI线程有一个Looper或2)在我的UI线程上创建一些可以构造这个计时器的奇怪方法,这两种方法对我来说都很愚蠢。有人可以帮我理解其中的含义吗?此外,有人知道任何有用的链接可以阐明Loo

android - 为什么 millisUntilFinished 无法检测到准确的 CountDownTimer 间隔?

大家好,CountDownTimer有一个相当小但令人讨厌的问题。目前我将间隔设置为1000。我正在尝试检测我的中剩余的毫秒数onTick()方法。这样我就可以在还剩20秒、还剩10秒等时使用TextToSpeech。好吧,如果我使用://Speakwhen20secondsleftif(millisUntilFinished==20000){tts.speak("Youhave20secondsleft.",TextToSpeech.QUEUE_FLUSH,null);}计时器无法准确检测到20000毫秒。所以我不得不求助于://Speakwhen20secondsleftif(mi

Android,如何在启动其他 Activity 时保持 CountDownTimer 运行

你好,我有一个在textView中显示倒计时的Activity(使用CountDownTimer),但是当我启动另一个Activity(配置屏幕)或更改屏幕方向时,countDownTimer停止并且我想让这个计时器在后台运行,我试图用里面的CountDowntimer创建一个线程,但它不起作用,有人知道这样做的方法吗?谢谢。 最佳答案 您不必创建后台线程来运行计时器。只需记住计时器启动的时间,然后当您需要重新启动它时,只需根据记住的时间值显示时间基准即可。所以:当用户启动定时器时,记录系统时间作为启动时间。在AsyncTask中启

Android:即使调用了 cancel(),也会调用 CountDownTimer 的 finish()

我用过这样的倒数计时器newCountDownTimer(15000,15){publicvoidonTick(longmillisUntilFinished){longseconds=millisUntilFinished/1000;longmin=millisUntilFinished%100;timeleft=(int)(seconds*1000+min);if(millisUntilFinished>=10000){changeText.setTextColor(Color.GREEN);}elseif(millisUntilFinished>=5000){changeText

java - 为什么我在没有使用 android.os.CountDownTimer 调用 Looper.prepare() 的线程中得到一个 "Can' t 创建处理程序?

当使用这个类时,我得到了这个奇怪的异常。它用于为我的游戏打印出一个漂亮的计时器显示,并在创建我的主GameView类时创建。错误在第26行抛出:super(s*1000,1000);packagetommedley.android.game;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.drawable.Drawable;importandroid.os.CountDownTimer;publicclassTimerextendsCountDownTimer{publ

android - CountDownTimer 更新和阻塞

如果正确理解CountDownTimer,它不会在与启动它的Activity不同的线程上运行。那么这是否意味着如果我在我的主要Activity中启动一个CountDownTimer,而另一段代码稍后在Activity中阻塞,这是否意味着CountDownTimer将不再更新,因为线程被占用?如果是这样,如果我启动第二个Activity,附加到主要Activity的CountDownTimer是否也会停止更新? 最佳答案 如果CountdownTimer在主线程中启动,那么主线程中的任何阻塞调用都会延迟Ontick和Onfinish(

android - onFinish() CountDownTimer 方法太长?

更新:2013年11月20日:此问题仍未解决。我正在制作一个CountDownTimer并且在onFinish()方法中,我显然做了太多的工作,因为最后一秒和完成之间的延迟时间比1秒(这是我的滴答之间的延迟)。这是我的代码。mCountDownTimer=newCountDownTimer(GAME_LENGTH,1000){publicvoidonTick(longmillisUntilFinished){mCountDownTextView.setText(""+millisUntilFinished/1000);}publicvoidonFinish(){mCountDownTe

android - CountDownTimer 如何在 OnTick 方法中访问 UI?

CountDownTimer如何在onTick方法中访问UI?(newCountDownTimer(10000,1000){@OverridepublicvoidonFinish(){//TODOAuto-generatedmethodstub}@OverridepublicvoidonTick(longmillisUntilFinished){TextViewtv=(TextView)findViewById(R.id.tvLCD);tv.setText(Long.toString(millisUntilFinished));}}).start(); 最佳

android - 为什么 countdownTimer 不工作?

我正在尝试但无法创建一个计数器,它会在每分钟后在TextView中显示剩余时间。时间没有出现,也没有任何错误。这是我的代码:packagecom.timer;importandroid.os.Bundle;importandroid.os.CountDownTimer;importandroid.app.Activity;importandroid.view.Menu;importandroid.widget.TextView;importandroid.widget.Toast;publicclassMainActivityextendsActivity{TextViewtv;@Ov

android - 如何扩展 CountDownTimer 添加暂停和恢复方法?

我试图通过这种方式扩展ConuntDownTimer以添加暂停和恢复方法:publicclassCountDownextendsCountDownTimer{privatelongresume;privatelongmillisInFuture;privatelongcountDownInterval;publicCountDown(longmillisInFuture,longcountDownInterval){super(millisInFuture,countDownInterval);resume=millisInFuture;this.millisInFuture=mill