我正在開發Android版應用。在我的代碼中,我有以下幾行:if-else condition:AND評估之謎
if (shape != null && !created && isTap(touchDown, event)) {
DrawPrimitive newShape = listener.onTouch(event, shape);
if (newShape != shape)
canvas.onDrawingChanged(true);
}
created是一個布爾成員。我想知道,因爲創建是真實的,但即使沒有調用isTap方法,運行時步入我的。如果我改變了!到錯誤的比較,一切工作正常。
if (shape != null && created == false && isTap(touchDown, event)) {
DrawPrimitive newShape = listener.onTouch(event, shape);
if (newShape != shape)
canvas.onDrawingChanged(true);
}
所以我想知道如果!不允許。但即使如此,爲什麼我的isTap方法(在版本一中)不被調用,爲什麼內部代碼在沒有評估所有AND條件的情況下執行。
你是如何檢查它是否被調用的? –
嘗試將您的代碼更改回第一個版本並運行它。我敢打賭它會正常工作。 – zmbq
我是如何檢查的?當然通過調試。 – Matthias