我正在使用 Xamarin Forms 构建内容页面。这个内容页面有一个标题和一个选择器。每次用户从 Picker 中选择一个项目(如回答一个答案)时,他的答案都会被存储,Title 会发生变化,Picker Items 也会发生变化。
问题是我经常遇到我无法理解的“数组超出索引”异常。我的代码是这样的:
public FormContentPage ()
{
//create picker
//create title
Init(CurrentQuestion);
}
public void Init(Question)
{
pick.SelectedIndexChanged -= Next;
pick.SelectedIndex = -1;
pick.Items.Clear ();
foreach (var c in current.Choices)
pick.Items.Add (c);
pick.SelectedIndexChanged += Next;
}
void Next()
{
ContentSave();
if (ValidateField(FormData.Current))
Init(NextQuestion);
}
索引异常的数组发生在添加期间或清除期间,这取决于我不太了解的事情。
在内部我可以看到 Picker Selected Item 仍然是旧的,即使我强制 Selected Item 为-1 ..
有人对我有任何暗示吗?
谢谢