来自处理程序的条件信号postDelayed?

时间:2016-02-23 22:25:45

标签: android android-handler postdelayed android-handlerthread

我对Android编程非常陌生,所以请原谅我的无知......

我正在尝试使用简单的Android应用:

  • 用户按下按钮,启动postDelayed作业,然后等待条件var
  • 超时后,postDelayer作业应发出信号

    subsReady()

发生的事情是buttonClick()等待等待,我甚至没有看到" --->超时通知"超时后的消息...

我做错了什么?

编辑:尝试修复混乱的例子......

1 个答案:

答案 0 :(得分:1)

你无法做你想做的事。处理程序在Looper个线程上运行。使用默认构造函数创建的处理程序将使用当前正在运行的Looper线程。在这种情况下,它是主要的Looper线程(或UI线程)。因此,您正在锁定UI线程并且处理程序在UI线程上解锁,但它永远不会达到这一点,因为您正在阻止UI线程。

此外,我在任何时候都没有看到您实际调用发布到Handler的方法。