【发布时间】:2018-11-17 19:29:00
【问题描述】:
如何在函数继续之前等待handler.PostDelayed 完成?
int num = null;
public int DoSomething()
{
var handler = new Handler();
handler.PostDelayed(() => StartCapital(), 10);
handler.PostDelayed(() =>
{
num = StartGain();
}, 300);
return num;
}
如何以Wait 为StartGain() 方法线程完成?该方法需要一些时间才能完成,并且它所在的函数返回 null
【问题讨论】:
-
如果要等待命令完成,为什么要从另一个线程调用该方法?
-
这需要时间,我不希望UI被挂
-
您必须使用新的可运行对象创建一个线程并将其传递给处理程序以使其在后台工作,现在您只是在该代码段上添加延迟
-
延迟不是问题,问题是函数在返回整数值之前完成,这使得返回值为空
-
@VINNUSAURUS - 你可以试试这个
Task.Run(async () => { await StartGain(); }).Wait();
标签: java c# android xamarin xamarin.android