2017-07-21 73 views
0

我有一個顯示項目列表的Xamarin表單應用程序。當您選擇其中一個項目時,該應用程序將導航到頁面上的一些細節。此詳細信息頁面還包含標準的「後退」按鈕,可將您帶回原始列表。如何清除選定的項目Xamarin列表

我遇到的問題是這個工作正常,除了當我回到主列表時,如果我再次選擇相同的項目,沒有任何反應。我必須在列表中選擇一些其他項目才能正常工作。

我認爲先前選擇的項目必須被清除,但除了我嘗試過的嘗試之外,它只會使應用程序崩潰。

下面是我使用的代碼:

listView.ItemSelected += async (sender, e) => 
    { 
     string selectedItem = e.SelectedItem.ToString(); 
     var detailsPage = new ItemDetails(selectedItem); 
     await Navigation.PushAsync(detailsPage); 
    }; 

我需要別的東西在這裏明確的細節,但是當我在listView.SelectedItem = NULL加入;在await命令之後,當我點擊後退按鈕時,它導致應用程序崩潰。

我需要在這裏添加什麼,以便我可以重新選擇相同的項目並轉到詳細信息頁面?

回答

1
listView.ItemSelected += async (sender, e) => 
{ 
    if (e.SelectedItem != null) { 
     string selectedItem = e.SelectedItem.ToString(); 

     // clear selected item 
     listView.SelectedItem = null; 

     var detailsPage = new ItemDetails(selectedItem); 
     await Navigation.PushAsync(detailsPage); 
    } 
}; 
+0

不幸的是,當您選擇一個項目並且不顯示詳細信息頁面時,會導致應用程序崩潰。 – irldev

+0

什麼是例外? AFAIK這是取消設置所選項目的標準方式。您可能想嘗試ItemTapped事件,該事件不保持選定狀態 – Jason

+0

,或者嘗試在代碼周圍添加if(e.SelectedItem!= null) – Jason

相關問題