我尝试搜索相同的错误而没有结果,所以这是我的问题:
我有一个Xamarin表单项目,将部署在Android和iOS上。在我的一个视图中,我有2个按钮,只有在用户首先选择了一些选项时才会显示。这在iOS上运行得很好,但是当我在Android模拟器上部署时,除非我切换方向,否则不会显示按钮。以下是代码示例:
<Button
Grid.Column="0"
Grid.Row="0"
TextColor="{StaticResource AwesomeTxtColor}"
Text="Click Me"
BackgroundColor="{StaticResource AwesomeBgColor}"
IsVisible="{Binding SelectedIndex, Converter={StaticResource isGreaterOrEqualZero}}"
Command="{Binding AwesomeCommand}" />
同样,转换器正在按调试会话和绑定工作。问题只发生在Android上。 iOS正在按预期工作。 Xamarin Forms版本:2.3.4.267。任何人以前都经历过这个问题,或者对可能出现的问题有任何想法?
答案 0 :(得分:0)
事实证明这是一个线程问题。用于填充我的视图中的选择器的列表使用以下命令加载:
await Task.Run(() => {
//API calls to load lists
});
我把它改为:
Device.BeginInvokeOnMainThread(() => {
//API calls to load lists
});
现在Android更新了用户界面。很奇怪,但显然列表中的那些值被困在一个不同的线程......