所以我想在没有合适的学习源的情况下学习Java。我有一个带有 3 个按钮的代码,想要创建一个带有 2 个参数的函数来更改它们的文本和 bool 变量,但这似乎不可能,因为它们需要声明为最终的。
boolean btn1Check = false;
boolean btn2Check = false;
boolean btn3Check = false;
public void setButton(final Button b, final boolean check) {
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (check == true) {
b.setText("FALSE");
check = false; //HERE IS THE ERROR
}
}
});
}
如果我不声明这些最终的,它会给我一个不同的错误。我不知道该怎么办。
最佳答案
发生这种情况是因为您无法更改内部类中变量的值。此外,更改 check
变量的值没有意义,因为它的作用域以 setButton
方法执行结束。
如果您想更改Button
状态,您应该对按钮本身进行操作,例如:
b.setChecked(false);
关于java - Android Studio - (最终)函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42457077/