I used System.Threading.Timer
in Xamarin.Android
.
How I can use the same class in Xamarin.Forms
?
(I want to transfer my project from Xamarin.Android in Xamarin.Forms)
public static System.Threading.Timer timer;
if (timer == null)
{
System.Threading.TimerCallback tcb = MyMethod;
timer = new System.Threading.Timer(tcb, null, 700, System.Threading.Timeout.Infinite);
}
else
{
timer.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite);
timer.Change(700, System.Threading.Timeout.Infinite);
}
System.Threading.Timer
is not available in PCL code. You can use theXamarin.Forms.Device.StartTimer
method instead as explained here: http://developer.xamarin.com/api/member/Xamarin.Forms.Device.StartTimer/For PCL you can create your own using async/await features. Another advantage of this approach - your timer method implementation can await on async methods inside timer handler
Usage:
Hi I found solution for the timer in Xamarin.forms
Device.StartTimer(TimeSpan.FromMilliseconds(1000), OnTimerTick);
// TimeSpan.FromMilliseconds(1000) specify the time in milisecond //OnTimerTick it is function that will be executed return booleanprivate bool OnTimerTick() { // code to be executed lblTime.Text = newHighScore .ToString(); newHighScore++; return true; }
I hope you get my point easily thanks.