在我的应用程序中,我有一个简单的TextView,可以计算动画下的数字。由于动画师类doenst有任何可以做到的事情,我使用计时器创建了自己的动画。基本上,每当计时器结束时(每隔0.01秒),我的文本视图上显示的整数将减去其自身的10,然后再次将其显示在文本视图上。这看起来像这样:
private void CountHOFNumbers()
{
int intHofNumber = 999999;
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 10;
timer.Elapsed += delegate
{
intHofNumber -= 10;
txtHof.Text = "# " + formatAp(intHofNumber);
};
timer.Enabled = true;
timer.Start();
}
它确实有效,但在一个秒后定时器停止。应用程序崩溃,它只是不再倒计时。此外,它永远不会是它停止的完全相同的数字 - 有时它是999,913 - 那么它是999,324等等。但它的运行时间不会超过1.5秒。这真让我烦恼。另外,我的手机正在从另一个线程振动。当振动开启时,计时器似乎总是停止。他们有相关的机会吗?或者我只是做错了?我很乐意帮忙!谢谢!
答案 0 :(得分:0)
这是解决方案:
RunOnUiThread(() => txtHof.Text = "# " + formatAp(intHofStartNumber));
但是,我已经开始了,它开始然后停止了。它本不应该开始,但无论如何 - 这解决了我的问题:)