我在xaml中定义了ListView
,如下所示:
<ListView x:Name="Iv" ItemSelected="Iv_ItemSelected" ItemsSource="{Binding deviceListEx}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<Label Text="{Binding .}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这在第一页加载时有效,但在iOS平台中,当我导航到另一个页面然后通过单击后退按钮返回列表视图页面时,页面为空白,表示列表视图未填充。
应用程序在c#中并在android中正常工作。
有人遇到过此类问题或类似问题吗?请告诉我如何解决这个问题。
这是背后的代码。 listview项目源是蓝牙扫描的结果,它是ObservableCollection<string>
。
deviceList.Clear();
deviceListEx.Clear();
var scanner = CrossBleAdapter.Current.ScanWhenAdapterReady().
Subscribe(ScanResult =>
{
if (ScanResult.Device.Name != null)
{
deviceList.Add(ScanResult.Device);
deviceListEx.Add(ScanResult.Device.Name.ToString());
// unique bluetooth devices with name to listview
Iv.ItemsSource = deviceListEx.Distinct();
}
});