6

I have the following code:

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;
        }
    });

but it is working only for enter and delete keys. For the rest of the keys, it is not working. I wanted it for shift and caps lock keys.

Smi
  • 13,850
  • 9
  • 56
  • 64
Namratha
  • 111
  • 2
  • 2
  • 4
  • Soft keyboards don't use the key codes for most things. See this answer https://stackoverflow.com/a/44342915/3681880 – Suragch Jul 08 '17 at 08:53

2 Answers2

1

Uset this listener on your editText:

editText.setOnKeyListener(new OnKeyListener() {

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

return false;
}
});
Mahesh
  • 2,862
  • 2
  • 31
  • 41
-2

Why You have commented the break statement. Please Uncomment the break statement and try.

mayur rahatekar
  • 4,410
  • 12
  • 37
  • 51