Android:处理程序postdelay方法是否使用更新的私有变量执行?

时间:2017-03-28 16:31:07

标签: android private android-handler postdelayed

我想问一下延迟问题。所以我在我的应用程序中使用这种方法,但似乎它没有像我预期的那样工作。

我想检查的是:

private boolean privateVariable = false    // private instance field
new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            if(privateVariable)) {       
                //DO SOMETHING
            }
        }
    }, 5000);

和privateVariable在延迟的5秒内更新为true。 DO SOMETHING会被执行吗?

换句话说,当我们使用postdelay方法时,我们是在延迟它时保存变量并在一定延迟后使用它们,还是在5秒后运行run()时使用更新变量?它似乎在我的应用程序中保存了它,所以即使我在5秒延迟之间更改它,它也会使用我创建新处理程序时的原始版本。

如果它使用了保存的那个,你可以告诉我在一定时间后使用更新值的方法吗?

提前谢谢。

0 个答案:

没有答案
相关问题