1

我正在使用 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 ..

有人对我有任何暗示吗?

谢谢

4

0 回答 0