jjzjj

postDelayed

全部标签

android - 如何在 onClick 中重置 postDelayed runnable 的时间?

我有一个从服务器填充的listView。在ListItem的onClick中,我显示一个按钮x秒,然后再次使其不可见。每次调用onClick时如何重置时间?这是我的listItemonClick:privatevoiddisplayInCallButton(){mButton.setEnabled(true);if(canDisplayInCallControlls){canDisplayInCallControlls=false;fadeInAnimation(mButton);mButton.setEnabled(true);mFrontView.postDelayed(newRu

android - 在 Handler 中执行所有预定的(postDelayed)runnables

我使用一个处理程序,它通过postDelayed(r,DELAY_TIME)发布一些Runnable,但我需要在发布之前执行所有Runnables通过postDelayed新建。有什么好的想法可以尽可能简单地实现这一目标吗?编辑:我想要的基本上是这样的:Runnabler=newRunnable(){//Dosomefancyaction};if(mHandler.runnablesScheduled){mHandler.flushAllScheduledRunnables();}mHandler.postDelayed(r,DELAY); 最佳答案

android - Android View.postDelayed 是否泄漏引用?

我想知道传递给View.postDelayed的runnable是否会在View与父View分离时自动删除。我查看了View类的源代码,它被发布到一些Handler并从外面获取。但该处理程序的生命周期尚不清楚。有人知道答案吗? 最佳答案 IwonderifrunnablepassedtoView.postDelayedwillbeautomaticallyremovedwhentheviewisdetachedfromtheparent.会在run方法结束后执行。如果其中有一个无限循环,它将永远不会被删除,因此,您将泄漏View以及

android - 服务中的 postDelayed()

我正在尝试在一段时间后自行重启服务。我的代码看起来像这样(在onStartCommand(...)内)Looper.prepare();Handlerhandler=newHandler();handler.postDelayed(newRunnable(){@Overridepublicvoidrun(){Intentintent=newIntent(BackgroundService.this,BackgroundService.class);startService(intent);}},3*60000);此代码执行时服务在前台运行,但它似乎没有调用onStartCommand(

android - 如何在 Android 上每 5 秒循环或执行一个函数

如何每5秒在onCreate上循环一次time()函数。帮助我,我是Android的新手=)...我想每5秒在onCreate中执行一次time()函数。publicvoidonCreate(BundlesavedInstanceState){time();//任何帮助将不胜感激... 最佳答案 你可以使用一个处理程序,给定的例子会每秒调用你的函数()//InitprivateHandlerhandler=newHandler();privateRunnablerunnable=newRunnable(){@Overridepubl

Android for循环和延迟不同步

简短摘要我有一个Activity游戏。用户将点击图像:用户有5秒的时间点击并选择正确的选项。5秒后,正确的ImageView将以不同的方式显示以引起注意,5秒后,用户将再次看到下一个级别。用户无需等待5秒即可点击,因此点击后应立即进入下一级别。我正在动态创建View和ImageView。ImageView以字节形式从本地数据库sqlite中获取。我的方法是在oncreate方法中创建。我使用for或while循环。每次迭代都是一个游戏级别。每个级别都有不同的ImageView和不同的ImageView数。为了延迟5+5秒,我不得不使用处理程序、线程、倒计时计时器。每一个都造成了问题。在

android - Handler.postDelayed(Runnable) 与 CountdownTimer

有时我们需要在代码运行之前延迟它。这可以通过Handler.postDelayed(Runnable)或CountdownTimer来实现。Whichoneisbetterintermsofperformance?查看下面的示例代码处理程序newHandler().postDelayed(newRunnable(){@Overridepublicvoidrun(){//DOSOMETHING}},1000);倒计时newCountDownTimer(1000,1000){publicvoidonFinish(){//DOSOMETHING}publicvoidonTick(longmi

handler.postAtTime 和 handler.postDelayed 的区别

请告诉我handler.postAtTime和handler.postDelayed在android中的区别,也请指导我何时使用handler.postAtTime以及何时使用handler.postDelayed。 最佳答案 来自文档:对于postAtTime:publicfinalbooleanpostAtTime(Runnabler,longuptimeMillis)...uptimeMillisTheabsolutetimeatwhichthecallbackshouldrun,usingtheuptimeMillis()t

Android,暂停和恢复处理程序回调

我有一个正在使用的处理程序,如下所示:handler.postDelayed(Play,1000);当我的应用程序onPause()在此完成之前被调用时,我需要暂停它并告诉它在我恢复之前不要执行“postDelayed”。这可能吗,或者有其他方法吗?我的问题是,当onPause()被调用时,我暂停了音频(SoundManager),但如果此handler.postDelayed在此之后被调用,音频将不会暂停,并将继续在我的应用程序后台播放。@OverridepublicvoidonPause(){Soundmanager.autoPause()}然后postDelayed在1000毫秒

java - 主线程上的 View.postDelayed() 和 Handler.postDelayed() 有什么区别?

根据Handler.postDelayed(Runnabler,longdelayMillis)的文档:CausestheRunnablertobeaddedtothemessagequeue,toberunafterthespecifiedamountoftimeelapses.Therunnablewillberunonthethreadtowhichthishandlerisattached.另一方面View.postDelayed(Runnableaction,longdelayMillis):CausestheRunnabletobeaddedtothemessagequeu