gpt4 book ai didi

java - 如何从循环中的onclick内的arraylist获取ID

转载 作者:行者123 更新时间:2023-12-01 18:00:23 25 4
gpt4 key购买 nike

我知道也许有些人会投票否决我的问题,但我试图找到解决方案,但找不到任何东西。

我在循环中有一个 arrayList,用于以编程方式显示一些按钮。在循环内部,我有一个 onCheckedChanged 方法,我尝试获取循环中元素的 id。

我的问题是,如何获取我正在显示的每个按钮的 ID。如果我尝试这样做:

 arrayList.get(i).getId();

我无法访问变量 i,因为它在循环中不是最终的,并且我无法放入最终的 int i,因为我在 i++ 中遇到错误

for (int i = 0; i < arrayList.size(); i++) {
final ToggleButton toogleBtn = new ToggleButton (ActivityNew.this);
toogleBtn.setWidth(140);
toogleBtn.setHeight(20);
toogleBtn.setTextSize(12);

toogleBtn.setText(arrayList.get(i).getName());


toogleBtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
toggleEnabled(toogleBtn);
arrayList.get(i).getId();
Toast.makeText(RegisterThreeActivityNew.this, Long.toString(idCategory), Toast.LENGTH_SHORT).show();
} else {
toggleDissabled(toogleBtn);
}
}
});
}

最佳答案

为什么不直接将 final int id = arrayList.get(i).getId(); 存储在监听器之外?

或者创建一个临时变量来保存i:

final int index = i;

关于java - 如何从循环中的onclick内的arraylist获取ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41463778/

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