Phuluso Ramulifho
Phuluso Ramulifho

Reputation: 498

Timer is not running in xamarin.forms

Here is my timer code is there anything wrong with how I'm initializing my Timespan variable?

Device.StartTimer(TimeSpan.FromSeconds(1), () => {

    if (cts.IsCancellationRequested)
    {
        return false;
    }
    else {
        Device.BeginInvokeOnMainThread(() => {

            TimeSpan _TimeSpan = TimeSpan.FromMinutes(myItem.TotalTime);
            displaytime = _TimeSpan.ToString(@"hh\:mm\:ss");
            Console.WriteLine("Timer");
            Console.WriteLine(displaytime);
        });

        return true;
    }
});

Upvotes: 0

Views: 70

Answers (1)

Dom
Dom

Reputation: 569

Try it like this:

private TimeSpan _TimeSpan;

public void DummyMethod()
    {
        Device.StartTimer(TimeSpan.FromSeconds(1), () => {

            if (cts.IsCancellationRequested)
            {
                return false;
            }
            else
            {
                Device.BeginInvokeOnMainThread(() => {

                    _TimeSpan += TimeSpan.FromMinutes(myItem.TotalTime);
                    displaytime = _TimeSpan.ToString(@"hh\:mm\:ss");
                    Console.WriteLine("Timer");
                    Console.WriteLine(displaytime);
                });

                return true;
            }
        });
    }

Upvotes: 2

Related Questions