2014-12-19 83 views
-3

我的應用程序中有四個按鈕。每個按鈕都有一個整數作爲文本。我將如何檢查按鈕是否按照整數值升序排列?我想這樣做,如果一個按鈕被按下按鈕,會有一種告訴用戶他們選擇了錯誤順序的某種類型的通知。檢查按下按鈕的順序 - Android

+2

哪個代碼你已經嘗試過? – grattmandu03

+0

我曾考慮過添加24條if語句來檢查數字可能存在的所有可能的命令,但顯然這不是一條可行的路。 – RainbowJeremy

+0

其實你不需要24條語句。創建一個變量,用於存儲最後一次點擊的按鈕數量,當您點擊一次,比較新的按鈕和最後一個按鈕時,如果沒有問題(正確的順序),那麼您更新最後單擊的值,否則您告訴用戶。 – issathink

回答

1

什麼是這樣的:

// put your button text integers in ascending order in an array 
int[] integersInAscendingOrder = {buttonText1, buttonText2, buttonText3, buttonText4}; 

int i = 0; 

// for each button's on click listener do something like the following: 
button.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     int value = Integer.parseInt(button.getText().toString()); 
     checkOrder(value); 
    } 
}); 

// have a function check order pressed 
private void checkOrder(int value) { 
    // see if the button pressed is the right one 
    if (value == integersInAscendingOrder[i]) { 
     if (i == 3) { 
      // insert code to run once all buttons pressed in right order 
     } else { 
      // insert code (if any) where less than all buttons pushed but in right order 
      // increase i 
      i++; 
     } 
    } else { 
     // button out of order 
     Toast.makeText(this, "Wrong order", Toast.LENGTH_LONG).show() 
    } 
} 
+0

感謝您的幫助。但是,我什麼時候改變價值? – RainbowJeremy

+0

編輯:意識到我忘了添加i ++ – JMGoodwin

+0

很高興聽到它的作品。 – JMGoodwin