我在xamarin android中使用listview和自定义适配器。我想在按钮点击时获取listview的所有项目,但它只返回屏幕上的可见项目。否则它在视图对象中返回null。
for (int i = 0; i < lstview.Count; i++)
{
View v = lstview.GetChildAt(i - lstview.FirstVisiblePosition);
if (v != null)
{
CheckBox c = (CheckBox)v.FindViewById(Resource.Id.checkBox1);
TextView tt = (TextView)v.FindViewById(Resource.Id.Text2);
string StudentID = tt.Text;
l.Add(new SaveAttendanceClass
{
Id = StudentID,
IsPresent = c.Checked
});
}
}
答案 0 :(得分:0)
ListView
仅包含列表可见部分的View
个对象。包含所有项目的对象(包括当前不在屏幕上的项目)是Adapter
。
迭代自定义适配器中的项目,而不是View
中的ListView
。