在spinner Xamarin中选择项目时填充listview

时间:2016-07-16 16:00:58

标签: listview xamarin.android android-spinner android-checkbox

我正在创建一个类型为多个选项的ListView(复选框),如下所示

 var adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItemMultipleChoice);
                    attendanceListView.Adapter = adapter;

现在我想检查从spinner

中选择项目时的一些复选框

和ListView填充为

adapter.Add("Select All");
                    foreach (var item in studentInformation)
                    {
                        adapter.Add(item.studentName.ToString());
                    }
直到这里,每件事情都是完美的。但是现在从courseSpinner

中选择项目时会出现问题
 private void CourseSpinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
    {
ListView list = (ListView)sender;
                        for (int count = 0; count < attendanceInformation.Count(); count++)
                    {
                        if (attendanceInformation[i].status == true)
                        {
                            selectedStudents[i] = attendanceInformation[i].studentId;
                            list.SetItemChecked(i, true);
                        }
                        else
                        {
                            list.SetItemChecked(i, false);
                        }
                    }

}

但它引发了一个例外:

  

System.InvalidCastException:指定的强制转换无效。

1 个答案:

答案 0 :(得分:0)

经过一番努力,我能够通过使用

来解决问题
ListView list = FindViewById<ListView>(Resource.Id.list);

而不是使用

ListView list = (ListView)sender;