我正在开发一个使用大量 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/