Xamarin.Android跳转新页面后ListView无法显示RFID扫描数据求助
问题解决:ListView无法显示扫描数据
核心问题出在TagListviewAdapter的Count属性实现上,你当前硬编码返回0,这会让ListView认为没有数据需要渲染,因此不会显示任何行。
修正步骤
1. 修复适配器的Count属性
修改TagListviewAdapter中的Count属性,返回实际的数据集长度,同时处理空值避免异常:
public override int Count { get { return TagList?.Count ?? 0; } }
2. 优化GetItem方法(可选但推荐)
当前GetItem方法返回的是position而非对应的数据项,虽然不影响ListView渲染,但正确实现可以避免潜在问题:
public override Java.Lang.Object GetItem(int position) { return TagList[position] as Java.Lang.Object; }
如果你的AviTag类没有继承Java.Lang.Object,可以将AviTag修改为继承该类:
public class AviTag : Java.Lang.Object { public string EPC { get; set; } }
3. 验证数据完整性(可选)
在ListviewActivity的OnCreate方法中添加日志,确认反序列化后的列表确实有数据:
// 反序列化后添加日志 System.Diagnostics.Debug.WriteLine($"扫描到的标签数量:{this.scannedAviTagList.Count}");
完成以上修改后,ListView就能正确加载并显示所有扫描到的RFID标签数据了。
内容的提问来源于stack exchange,提问作者BabyHai
相关产品推荐
相关产品推荐

