java - 卡住一个整数

标签 java if-statement integer

我正在开发一个使用大量 ImageButtons 的应用程序,并且在这些 ImageButtons 上的每个 onTouch 事件上,一个值都会添加到一个 Integer 变量中。问题来了,假设我有这个语句在某个时刻返回 true:

if (x == y) 

即使用户再次触摸这些图像,我怎样才能使 integerVariable 保持不变? 例如这样的事情:

if (x == y){ integerVariable will not change};

最佳答案

您可以通过自定义 boolean 值来控制它。出于这样的原因(自定义、非标准字段访问),建议使用 getter 和 setter。

只在你的代码中使用setter setMyInt(int value) 并且永远不要直接访问该字段,你会没事的。如果您需要知道该值是否已更新,请查看返回的 boolean 值。

private int myInt;
private boolean isMyIntLocked = false;

public boolean setMyInt(int value) {
    if (isMyIntLocked) {
        Log.i(TAG, "cannot set myInt, it's been locked");
        return false;
    } else {
        this.myInt = value;
        return true;
    }
}

public void lockMyInt(boolean doLock) {
    this.isMyIntLocked = doLock;
}

关于java - 卡住一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24346109/

相关文章:

java - Log4j - 记录内部 Log4j 事件

java - java JRE linux 的默认源是什么

java - 如何从我的 validator 类中消除所有 "if"语句

python - RC4算法实现过程中出现语法错误

VB6 大整数溢出错误

java - 检查字符串后面是否有字符串

java - 如何在 Log4j 中根据时间而不是大小轮换日志文件?

javascript - 将嵌套的 if 语句转换为更优雅的 switch?

java - 将分数转换为小数

python - 打开 csv 作为整数列表