java - Android Studio - (最终)函数参数

标签 java android variables android-button final

所以我想在没有合适的学习源的情况下学习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/

相关文章:

java - 无法在模拟器上运行 android wear 应用程序

java - 如何根据 "last modified"计算每小时的文档数

android - 将 GoogleMap 缩放到我的位置

android - Android 中使用 ZXING 库的二维码扫描器

javascript - 传递变量以追加

php - 如何在 PHP 中将两个字符串组合在一起?

java - 无法调用方法,因为注入(inject)为 null

java - 使用Java在谷歌应用程序引擎上逐像素读取和修改图像,几乎就在那里

java - 通过单击一个 fragment 中的按钮并更改 android studio 中的底部导航图标,从一个 fragment 重定向到另一个 fragment

php - 如何在 php 包含文件中设置变量?