在我的應用程序中第三個左右的頁面包含一個ListView,但由於某種原因,列表不會顯示直到我切換視圖(將視圖切換到另一個列表ItemSource
)或旋轉屏幕。Listview不會馬上出現xamarin表格
如果我做兩次切換(所以回到原來的起始狀態),listview仍然存在。這看起來像一個錯誤,但我一直無法找到任何東西。
public partial class ReviewRequestsPage : ContentPage
{
private readonly List<RequestCell> closedRequestCells = new List<RequestCell>();
private readonly List<RequestCell> openRequestCells = new List<RequestCell>();
public ReviewRequestsPage()
{
InitializeComponent();
NavigationPage.SetHasNavigationBar(this, false);
BindingContext = new SvgImagesViewModels();
new Footer().SetGestureRecognizers(null, Notifications, Help, Home, this);
LoadRequestLists();
ToggleSwitch.PropertyChanged += (o, ea) => { HandleToggle(((Switch) o).IsToggled); };
}
....
private void LoadRequestLists()
{
UserDialogs.Instance.ShowLoading("Loading Requests...", MaskType.Black);
var client = new RestService().Client;
var request =
new RequestService().GetAllRequests();
client.ExecuteAsync(request, response =>
{
var myList = JsonConvert.DeserializeObject<List<Request>>(response.Content, new DateTimeConverter());
myList.ForEach(r =>
{
if (r.status.type == StatusType.CLOSED) closedRequestCells.Add(new RequestCell(r));
else if (r.status.type != StatusType.DELETED) openRequestCells.Add(new RequestCell(r));
});
UserDialogs.Instance.HideLoading();
RequestsList.ItemSource = openRequestCells;
});
}
private void HandleToggle(bool isToggled)
{
Switchlabel.Text = isToggled ? Constants.Closed : Constants.Open;
RequestsList.ItemsSource = isToggled ? closedRequestCells : openRequestCells;
}
是否還有別的我應該打電話或做這樣的事情,一旦我設置了ItemSource就會出現ListView?它沒有意義,爲什麼它不會已經。也沒有什麼是失敗的,一切都按預期工作,除此之外
好的,我明白你在說什麼了。但爲什麼要切換列表使其顯示?或旋轉屏幕?此外,我將我的列表更改爲「ObservableCollection」,現在它可以工作 – John