Xamarin Android中如何更新ArrayAdapter内的列表项值
修改Xamarin Android ArrayAdapter的现有列表项
没问题,你完全不用创建新列表就能实现这个需求,只需要两步操作:
直接修改ArrayAdapter的底层数据源
Xamarin Android的ArrayAdapter<T>提供了Items属性,它本质是一个可编辑的IList<T>,所以你可以像操作普通List那样直接给指定索引赋值:list.Items[0] = "Donald";通知适配器刷新UI
修改数据源后,必须调用NotifyDataSetChanged()方法,这样绑定的ListView才会更新显示新的内容:list.NotifyDataSetChanged();
把这两句加到你的现有代码后面就搞定了,完整示例如下:
var list = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1); list.Add("George"); list.Add("Abraham"); // 修改第一项为Donald list.Items[0] = "Donald"; // 通知列表更新UI list.NotifyDataSetChanged();
额外提一句:如果你是用自己创建的List<string>来初始化ArrayAdapter(比如new ArrayAdapter<string>(this, layout, myOwnList)),那直接修改myOwnList[0] = "Donald"再调用NotifyDataSetChanged()也能达到同样效果,两种方式都可行。
内容的提问来源于stack exchange,提问作者Minimus Heximus
相关产品推荐
相关产品推荐

