2011-12-27 7 views
5

でキーコードを取得する方法:私は次のコードを持っているアンドロイド

tv.setOnKeyListener(new View.OnKeyListener() { 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
     switch(keyCode) 
      { 
       case KeyEvent.KEYCODE_0: 
        Log.v(TAG, "Keycode_0"); 
        return true; 
        //break; 

       case KeyEvent.KEYCODE_1: 
        Log.v(TAG, "Keycode_1"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_D: 
        Log.v(TAG, "Keycode_D"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_2: 
        Log.v(TAG, "Keycode_2"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_TAB: 
        Log.v(TAG, "Keycode_TAB"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_DEL: 
        Log.v(TAG, "Keycode_DEL"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_COMMA: 
        Log.v(TAG, "Keycode_COMMA"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_ENTER: 
        Log.v(TAG, "KEYCODE_ENTER"); 
        i=KeyEvent.KEYCODE_ENTER; 
        Log.v(TAG, "KEYCODE_ENTER"+i); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_SHIFT_LEFT: 
        Log.v(TAG, "KEYCODE_SHIFT_LEFT"+KeyEvent.KEYCODE_SHIFT_LEFT); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_SHIFT_RIGHT: 
        Log.v(TAG, "KEYCODE_SHIFT_RIGHT"+KeyEvent.KEYCODE_SHIFT_RIGHT); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_SPACE: 
        Log.v(TAG, "KEYCODE_SPACE"+KeyEvent.KEYCODE_SPACE); 
        return true; 
        //break; 
       default: 
        break; 
      } 
      return false; 
     } 
    }); 

を、それが唯一のenterdeleteキーのために働いています。残りのキーについては、機能していません。私はshiftcaps lockキーのためにそれをしたかった。

+0

ソフトキーボードは、ほとんどのもののためのキーコードを使用しないでください。この回答を見るhttps://stackoverflow.com/a/44342915/3681880 – Suragch

答えて

-1

なぜあなたはbreak文にコメントしましたか? break文のコメントを外して試してください。あなたのEditTextの

+2

返信文のためには必要ありません – Anton

+0

return文のために必要ではありません... – user5716019

0

Usetこのリスナー:

editText.setOnKeyListener(new OnKeyListener() { 

@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) { 

return false; 
} 
}); 
関連する問題