Device.StartTimer相当于xamarin原生PCL
问题描述:
我想在某个延迟后调用一个方法。Device.StartTimer相当于xamarin原生PCL
在Xamarin.Form Device.StartTimer可用。
Device.StartTimer(2000,() =>{});
同样,我们可以在本地xamarin
System.Threading.Timer timerO = new System.Threading.Timer(this.methodtobeinvoked,”timerO", 2000, System.Threading.Timeout.Infinite);
容易做但是,当涉及到PCL在Xamarin原生不能同时使用。 好像
System.Threading.Tasks.Task.Delay(2000)
是PCL可用最简单的选择,但是这一个块主线程,我可以创建一个线程,并呼吁他的延迟,从主线程把这个放下,但我不想落入陷阱使用多线程......是否有任何简单的解决方案可以让我们在时间过后调用方法。
答
执行ticktock每一秒......
Device.StartTimer(TimeSpan.FromMilliseconds(1000), loop1); // every 1 second
bool loop1()
{
ticktock(); // execute every second
return true;
}
离开了return语句,你会一次执行ticktock,一秒的延迟之后。