gpt4 book ai didi

Java - 将循环迭代器获取到循环内的函数?

转载 作者:搜寻专家 更新时间:2023-11-01 02:32:16 24 4
gpt4 key购买 nike

我在这里面临的是一个愚蠢的问题......基本上我在一个 For 循环中,在这个循环中我总是调用一个函数来制作一个按钮。但是在这个函数中,我想传递循环迭代器,因为它正在改变以区分按钮。但随后它告诉我需要将循环迭代器设置为“最终”,这意味着它不会改变!

好吧,我的问题用一些框架代码会更有意义:

for(int i = 0; i < appList.size(); i++) { 

//some other stuff including creating the below button 'btn'

btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//set some attribute based on i
//but when I do this it only sets based on the greatest value of i (!)
}
});
}

我知道有点愚蠢的问题...不过我是 Java 的新手!

干杯。

最佳答案

for(int i = 0; i < appList.size(); i++) { 

final int _i = i;

btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// use _i instead of i
}
});
}

关于Java - 将循环迭代器获取到循环内的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6345489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com