我正在使用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;
}
有什么建议吗?