首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回方法,其中包含postDelayed

返回方法,其中包含postDelayed
EN

Stack Overflow用户
提问于 2016-07-22 04:08:53
回答 2查看 1.4K关注 0票数 1

我刚刚创建了布尔方法,它应该在最后返回一些布尔变量...但我想在1秒后返回它(一些操作是在应用程序中进行的)这段代码,但不起作用……我该怎么办?

代码语言:javascript
复制
private boolean variable;
public boolean Method(String device) {
    //some code here

    //then postdelayed
    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            //variable is set in other part of app
            return variable;
        }
    }, 1000);

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-22 04:56:06

你不需要。你需要重新构建你正在做的事情。延迟返回的唯一方法是挂起UI线程,这不是做任何事情的正确方式。您需要做的是使需要返回值的任何代码在postDelayed中可运行。你想做的事情永远不会奏效。

票数 1
EN

Stack Overflow用户

发布于 2016-07-22 05:12:29

您可以将该处理程序移动到要调用的部分并获取该布尔变量,如下所示:

代码语言:javascript
复制
private String device;
private boolean variable;

public void doSomething() {
    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            if (getBoolean(device)) {
                // Do something.
            }
        }
    }, 1000);
}

public boolean getBoolean(String device) {
    // Some code...
    return variable;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38513459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档