2011-05-31 70 views

回答

5

您可以設置在一個的EditText onKeyListener(),並獲取邀請碼的方式。例如:

editText.setOnKeyListener(new View.OnKeyListener() { 
    public boolean onKey(View v, int keyCode, KeyEvent event) { 
     switch(keyCode) { 
      case KeyEvent.KEYCODE_0: 
       //handle code for pressing 0 
       break; 
      default: 
       break; 
     } 
    } 
}); 

而在你switch聲明,只是處理你需要的任何鍵碼。完整列表可在KeyEvent constants中找到。

編輯:請記住,對於驗證和那種事情,像尼古拉斯提到的那樣,TextWatcher可能是一個更好的解決方案,如果您需要知道輸入了什麼CHARACTER(例如'A'與'a'因爲您必須處理關鍵監聽器中的shift鍵是否處於活動狀態的邏輯)。如果你只需要知道按下了什麼按鍵,我會推薦OnKeyListener。

+0

我們可以直接知道密鑰 – Kannan 2011-05-31 17:28:23

+0

您可以使用傳遞給onKey方法的KeyEvent,並調用'getNumber()'。例如,如果按下'a'鍵,'char key = event.getNumber()'將返回'a'。如果它不是字母數字或符號,它將返回0. http://developer.android.com/reference/android/view/KeyEvent.html#getNumber() – kcoppock 2011-05-31 17:31:11

+2

您也可以使用'int key = event.getUnicodeChar(event .getMetaState())'給你確切的Unicode字符,尊重修飾鍵的狀態(alt,shift等) – kcoppock 2011-05-31 17:33:32

相關問題