我正在使用ImageButtons的大量的應用程序和上一個值被添加到一個整數變量那些ImageButtons每onTouch事件。這裏談到的問題,讓我們說我有這樣的說法,在某個點返回true:凍結的整數
if (x == y)
我怎樣才能讓integerVariable保持不變,即使用戶再次觸摸這些圖片? 例如是這樣的:
if (x == y){ integerVariable will not change};
我正在使用ImageButtons的大量的應用程序和上一個值被添加到一個整數變量那些ImageButtons每onTouch事件。這裏談到的問題,讓我們說我有這樣的說法,在某個點返回true:凍結的整數
if (x == y)
我怎樣才能讓integerVariable保持不變,即使用戶再次觸摸這些圖片? 例如是這樣的:
if (x == y){ integerVariable will not change};
你可以通過自定義布爾對此進行控制。這是由於這樣的原因(自定義,非標準字段訪問),建議使用getter和setter。
永遠只能使用二傳手setMyInt(int value)
在你的代碼,從不直接訪問現場,你會沒事的。如果您需要知道該值是否已更新,請查看返回的布爾值。
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;
}
對我的代碼進行了一些更改,但是使用了它的邏輯,它起作用了!非常感謝。 – BugaIulian
沒問題,很高興你把它分類。 – indivisible
您可以使用boolean
來檢查整數是否應遞增。
您的變量:
boolean increment = true;
int x = 0, y = 1;
當用戶點擊X按鈕:
if(increment)
x++;
if(x == y)
increment = false;
別再分配什麼呢? – nhaarman
發佈您添加整數變量的代碼 –
我正在考慮這樣做......但這需要重寫代碼的很大一部分。我認爲我從SDK中錯過了一些東西。 – BugaIulian