C#foreach代表XAMARIN ANDROID

时间:2018-07-21 12:37:57

标签: c# android xamarin delegates mono

我正在使用Xamarin Android开发Android应用。 在实现UI的过程中,我循环创建了一些按钮及其处理程序。我的问题是,每当执行处理程序时,此方法的原始值就是外部值(i)的引用。

private void MyUiMethod(){  
  var i = 0;
  foreach(var item in itemList){
    var data = new MyCustomData();
    var button = new Button();
    button.Click = (s, e) => ButtonClick(s, e, data, i);
    i++;
  }
}

private void ButtClick(object s, EventArgs e, MyCustomData data, int index){
  // HERE ALWAYS THE VALUE OF INDEX IS THE LAST VALUE
  // e.g. If the list has 3 items, index = 3 no matter the button I've clicked; 
}

有什么建议吗?

0 个答案:

没有答案