【发布时间】:2016-11-25 14:10:49
【问题描述】:
我刚刚创建了布尔方法,最后应该返回一些布尔变量... 但我想在 1 秒后返回它(一些操作正在应用程序中进行) 此代码但不起作用... 我该怎么办?
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);
}
【问题讨论】:
-
到底发生了什么? “变量设置在应用程序的其他部分”是什么意思?你为什么不使用 EventBus 来做一些事情呢?
-
@Vucko 变量,我想返回我在相同代码上定义的...当方法启动时,它首先发送变量“设备”(输入),然后在代码,然后我想返回这个在代码中改变的变量......(对不起我的英语)
-
我没有看到任何不正确的地方。这将正常工作。在app的其他部分设置变量本身肯定有问题。
-
@HusseinElFeky 他想要的实际上是不可能的,除非是睡眠。它绝对不正确 - 您不能从 void 函数返回值,也不能延迟返回
-
@HusseinElFeky 它在返回时说:“无法从具有 void 结果类型的方法返回值”,在最后一个括号上说:“缺少返回语句”