c #Android Xamarin - 将TextView.Text与ElapsedEventHandler一起使用时崩溃

时间:2017-02-15 16:57:26

标签: c# android xamarin

我在使用word_list = ["hello", "wonderful", "good", "flawless", "perfect"] test = ["abc", "hello", "vbf", "good", "dfdfdf", "good", "good"] result = [] word_map = {} for w in test: if w in word_map: word_map[w] += 1 else: word_map[w] = 1 for w in word_list: result.append(word_map.get(w, 0)) print(result) 时调用Print函数时,我的应用崩溃了。

我在其他环境中调用了System.Timers.ElapsedEventHandler(checkForMessage)函数,没有问题。

Print

1 个答案:

答案 0 :(得分:0)

Timer.Elapsed事件总是排队等待在线程池线程上执行,因此您需要确保更新UI线程上的UI控件。为此,您可以使用RunOnUiThread方法,如下所示:

void Print(string text)
{
    RunOnUiThread(() => infosLabel.Text += text + "\n");
}