UWP与Android中如何在多线程中刷新UI

UWP与Android中如何在多线程中刷新UI

无论我们是在进行UWP开发亦或是Android开发,都会在程序运行的同时产生一个UI线程,这是管理你界面的线程,而这也导致你在子线程中越界修改界面时将会报错。本文将对UWP以及Android更改UI的方式进行讨论。

UWP

现在先假设我们拥有一个子线程thread1,其要去更改Mainpage中的一名为TextBox1的控件内的文字(在此例中System.Threading.Tasks.Task和System.Threading.Thread等价)

thread的定义为

private void thread(){
	/*
	do_something();
	*/
	TexBox.Text="Hello World!";
}

显然这样会报错,所以我们得采用通知UI线程进行更改的方式,其分为两步:

1.添加Invoke函数

2.将更改UI的action传入Invoke函数中

我们首先进行第一步

public async void Invoke(Action action, Windows.UI.Core.CoreDispatcherPriority Priority = Windows.UI.Core.CoreDispatcherPriority.Normal)
{
	await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Priority, () => { action(); });
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值