我有一个带有 3 个片段的选项卡式活动。第一个片段允许用户选择一个测试,第三个片段有一个计时器、一个文本视图和一些按钮。到目前为止,第二个片段中没有任何内容。
在片段 3 中,我有一个启动计时器的按钮,一旦启动计时器,textview 会每分钟刷新一次,显示经过的时间。到目前为止一切正常。
问题:一旦计时器启动,如果我选择片段 1 并返回片段 3,计时器将停止更新 textView。我知道 timer_elapsed 运行正常,只有 textview 没有更新。
我试过 FragmentActivity.RunOnUiThread(() => {}); 这工作正常,直到片段被切换。
我确实尝试使用 Loopers.MainLooper 来更新屏幕,但问题仍然存在。
// update the screen every minute
if (mActivity != null)
{
mActivity.RunOnUiThread(() =>
{
// set the progress bar
progressBar.Progress = i32ProgressBarValue;
textViewPercentage.Text = i32ProgressBarValue + "%";
// set the text view
textViewTestTime.Text = $"{Globals.i32Days}" + "D :" + $"{Globals.i32Hours}" + "H :" + $"{Globals.i32Mins}" + "M";
});
}
我希望 textView 在片段切换并返回到片段 3 时继续正确更新