[英]Why am I getting these syntax errors?
我有以下代碼
image1.setOnClickListener(new View.OnClickListener() {
int randInt = new Random().nextDouble() < 0.5 ? 1 : 2;
if (randInt.equals(1)) {
public void onClick(View view) {
if (isFirstImage) {
applyRotation(0, 90);
applyRotation(0, 90);
isFirstImage = !isFirstImage;
} else {
applyRotation(0, -90);
applyRotation(0, -90);
isFirstImage = !isFirstImage;
}
}
} else if (randInt.equals(2)) {
public void onClick(View view) {
if (isFirstImage) {
applyRotation(0, 90);
applyRotation(0, 90);
applyRotation(0, 90);
isFirstImage = !isFirstImage;
} else {
applyRotation(0, -90);
applyRotation(0, -90);
applyRotation(0, -90);
isFirstImage = !isFirstImage;
}
}
}
});
我明顯聲明有“;”的那一行時,在聲明整數的那一行上有一個“語法錯誤,插入“;”以完成語句”。 那里。 我有一些“令牌“(”,:expected“上的語法錯誤,以及”令牌“)”上的語法錯誤“; expected”,其中我有“ public void onClick(View view){”,我有一個“語法錯誤,插入“}”以完成聲明”,但我四處張望,似乎已經關閉了所有聲明。
我認為Eclipse給了我錯誤的錯誤,我嘗試了Project> Clean,但是並不能解決問題。 請幫忙,謝謝!
我認為缺少“;” 錯誤是虛假的。 您真正的問題是如何嘗試聲明onClick偵聽器。 if
塊不能包含這樣的方法聲明。 請嘗試以下操作:
image1.setOnClickListener(new View.OnClickListener() {
int randInt = new Random().nextDouble() < 0.5 ? 1 : 2;
@Override
public void onClick(View view) {
if (randInt == 1) {
if (isFirstImage) {
applyRotation(0, 90);
applyRotation(0, 90);
} else {
applyRotation(0, -90);
applyRotation(0, -90);
}
} else if (randInt == 2) {
if (isFirstImage) {
applyRotation(0, 90);
applyRotation(0, 90);
applyRotation(0, 90);
} else {
applyRotation(0, -90);
applyRotation(0, -90);
applyRotation(0, -90);
}
}
isFirstImage = !isFirstImage;
}
});
這將在將OnClickListener
附加到image1
時修復randInt
。 如果您希望每次單擊image1
都隨機旋轉,請將randInt
的聲明移動為onClick
方法本身的第一條語句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.