Activity.RunOnUiThread()不更新视图

时间:2016-03-16 10:51:54

标签: xamarin xamarin.android

有活动,片段和视图模型绑定到它们两者。 Fragment具有由Timer多次引发的事件,片段内部委托订阅该事件并使用viewmodel中的值更新单个UI元素。

代表:

private void OnTimerUpdate(object o, EventArgs e) {
    this.Activity.RunOnUiThread(() => {TimerTextView.Text = ViewModel.TimerValue;});
}

它按计划被多次调用,但是ui元素没有更新,除非我正在与视图交互(例如滚动)。 以前ui元素和委托都在内部活动并且工作正常,但是当我重构它有单独的片段时,就发生了这种情况。

2 个答案:

答案 0 :(得分:1)

您是否尝试在更改文字后调用TimerTextView.Invalidate()

答案 1 :(得分:0)

找到答案here。我认为这很奇怪,但实际上工作 - 设置textview的宽度和高度我正在更新为某些值而不是'wrap_conent'。