这是简单的代码增加一些并显示在一个TextView,但它不工作,我不知道什么是错我的代码?
这里是我的代码:
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
TextView textView = FindViewById<TextView>(Resource.Id.textView1);
Timer timer1 = new Timer();
timer1.Interval = 1000;
timer1.Enabled = true;
timer1.Start();
timer1.Elapsed += (object sender, ElapsedEventArgs e) =>
{
x++;
textView.Text = x.ToString();
};
}
既然你不使用SynchronizingObject的,System.Timers.Timer
正在呼吁对经过的线程池线程,因此你不是UI /主线程(其中UI更新需要执行)上。
因此,使用RunOnUiThread
更新事件中的用户界面:
timer1.Elapsed += (object sender, ElapsedEventArgs e) =>
{
x++;
RunOnUiThread(() => button.Text = x.ToString());
};