strReturnedAddress 大约需要计算需要 3 秒 - 但也可能快至半秒。该行触发计算
new GetCurrentCity().execute();
在那一行之后是这一行
if(!(strReturnedAddress == null)){
test.setText(strReturnedAddress);
我希望 if 语句在计算 strReturnedAddress 时执行。
我怎样才能做到这一点?
最佳答案
如果需要doInBackGround()
之后的执行结果,可以将代码放在onPostExecute()
中。 onPostExecute
将在主线程上运行,并将 doInBackGround()
的返回值传递到参数中。
另一种方法是使用task.execute().get()
等待结果。但这违背了 Asyntask 的目的.
关于java - 等待进程完成后再执行一行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17576115/