【发布时间】:2020-06-30 02:39:57
【问题描述】:
对不起我的英语不好。我是 xamarin android 的新手,尝试在用户界面中进行更改时遇到问题。 例如,上次我尝试在单击按钮时更改按钮的背景。但这直到 click 方法结束时才会发生。
private void MainActivity_Click(object sender, EventArgs e)
{
((Button)(sender)).SetBackgroundResource(Resource.Drawable.background);
//other code to run
}
我尝试在 RunOnUiThread 和 BeginInvokeOnMainThread 中执行此操作,但也没有成功。 调试时,我发现它实际上立即进行了更改,但它没有出现在应用程序上 直到方法完成。还有一个事件,当按钮状态被按下=true,并且按钮即使在释放后仍然保持突出显示,它就像这样卡住直到方法 MainActivity_Click 结束。 再次为我糟糕的英语感到抱歉。解决方案?
【问题讨论】:
-
单独的代码不会导致 UI 更改并尝试在非 UI 线程/任务上运行它们。这是响应式 UI 的唯一方法
-
我对xamarin了解不多,但是android UI只有在主线程重绘时才会改变。只有当线程没有被阻塞时才会发生这种情况。
-
您需要更加关注这个问题。太笼统了。尝试按照教程进行操作,并在获得后提供一个最低限度的工作示例,并且错误仍然存在。
标签: c# multithreading visual-studio user-interface xamarin.android