2016-07-25 3 views
0

Я использую listview в xamarin android с пользовательским адаптером. Я хочу, чтобы все элементы списка отображались при нажатии кнопки, но на экране отображаются только видимые элементы. В противном случае он возвращает null в объекте вида.Получение всех элементов из списка xamarin android

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

ListView содержит только View объекты для видимой части списка. Объект, содержащий все элементы, в том числе те, которые не отображаются на экране, - Adapter.

Истерируйте элементы в пользовательском адаптере вместо View s в ListView.

+0

Спасибо, что ответили. но как я могу получить состояние флажка. поскольку он не связан с адаптером. – user3556634

Смежные вопросы