2016-07-25 16 views
0

私はxamarinアンドロイドでカスタムアダプターを使用してリストビューを使用しています。私は、ボタンのクリックでlistviewのすべての項目を取得したいが、画面上に表示されている項目のみを返します。それ以外の場合は、ビュー・オブジェクトにnullを戻します。listview 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です。

ListViewViewではなくカスタムアダプターの項目を繰り返します。

+0

お返事ありがとうございます。しかし、どうすればチェックボックスの状態を取得できますか?アダプターに関連付けられていないためです。 – user3556634

関連する問題