Xamarin Forms如何在ListView ItemTapped时填充Entry搜索栏内容
实现方案
你需要的searchResults_ItemTapped方法逻辑如下:
private void searchResults_ItemTapped(object sender, ItemTappedEventArgs e) { // 判空避免空引用异常 if (e.Item == null) return; // 将选中项强转为对应的Prediction类型 var selectedPrediction = e.Item as Prediction; // 将选中的地址描述填充到Entry控件 locationEntry.Text = selectedPrediction.description; // 可选:清除ListView选中状态,避免重复点击同一项不触发事件 searchResults.SelectedItem = null; }
逻辑说明
- 你的ListView绑定的数据源是
List<Prediction>类型,ItemTapped事件触发时,e.Item就是你点击的那一行对应的Prediction实例 - UI的ListView里显示的是
Prediction的description字段,直接把这个字段赋值给locationEntry的Text属性即可完成填充 - 你提到的
search和formattedLocation是搜索阶段的参数,填充Entry不需要用到这两个值,需要的地址文本已经在Prediction对象的属性中存储了 - 如果后续保存功能需要用到选中地址的经纬度,只要
Prediction类包含对应的经纬度属性,你可以在这个方法里赋值给全局变量留存即可
内容的提问来源于stack exchange,提问作者Patrick89
相关产品推荐
相关产品推荐

