TextView.文本更改后不会在屏幕上进行视觉更新
本文关键字:屏幕 更新 视觉 文本 TextView | 更新日期: 2023-09-27 18:16:12
public void displayTimeOnScreen()
{
_timer = new System.Timers.Timer();
_timer.Interval = 1000;
_timer.Elapsed += Timer_Elapsed;
_timer.Enabled = true;
FindViewById<TextView>(Resource.Id.textViewDay).Text = "Test";//This works
}
public void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
TextView timeTextView, dateTextView, dayTextView;
LinearLayout screen = FindViewById<LinearLayout>(Resource.Id.box);
bool portrate = screen.Height > screen.Width;
timeTextView = FindViewById<TextView>(Resource.Id.textViewTime);
dateTextView = FindViewById<TextView>(Resource.Id.textViewDate);
dayTextView = FindViewById<TextView>(Resource.Id.textViewDay);
string[] timeData = { "stuff", "things", "test" };
timeTextView.Text = timeData[0];
dateTextView.Text = timeData[1];
dayTextView.Text = timeData[2];
Log.Info("Information", timeTextView.Text);//This will tell me that timeTextView.Text has actually been updated, it just isn't showing on the screen
}
}
所以我一直在尝试做一个简单的程序,显示时间在android设备上。我使用Timers
对象来运行应该更新时间的代码。然而,尽管Log
告诉我代码正在运行,并且TextView
的文本值正在更新,但这并没有显示在android设备的屏幕上。然而,displayTimeOnScreen()
方法确实有效。
有谁知道是什么问题吗?
您正在寻找的方法是textView.setText()
您需要使用setText()
来显示TextView
中的文本。
timeTextView.setText(timeData[0]);
dateTextView.setText(timeData[1]);
dayTextView.setText(timeData[2]);