我有一个Xamarin表单应用程序,显示项目列表。当您选择其中一个项目时,该应用程序会导航到包含一些详细信息的页面。此详细信息页面还包含标准的“后退”按钮,可将您带回原始列表。
我遇到的问题是,这种方法很好,除了当我回到主列表时,如果我再次选择相同的项目,则没有任何反应。我必须在列表中选择其他项目才能正常工作。
我认为之前选择的项目必须被清除,或者除了我尝试过的尝试之外,它只会使应用程序崩溃。
这是我正在使用的代码:
listView.ItemSelected += async (sender, e) =>
{
string selectedItem = e.SelectedItem.ToString();
var detailsPage = new ItemDetails(selectedItem);
await Navigation.PushAsync(detailsPage);
};
我需要其他东西来清除细节,但是当我在listView.SelectedItem = null中添加时;在await命令之后,当我点击后退按钮时,它导致应用程序崩溃。
我需要在此处添加什么,以便重新选择相同的项目并转到详细信息页面?
答案 0 :(得分:2)
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);
}
};