Created
September 23, 2016 14:49
-
-
Save dominicthomas/dacea4d1312c2cb085e12d32b7682a60 to your computer and use it in GitHub Desktop.
Useful to listen to just key up and back key events for a text input or edittext. Turns out it doesn't work on some devices as some send hardware key events and some send soft keyboard events. This doesn't work with soft keyboard events.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class TextInputOnKeyChangedListener implements EditText.OnKeyListener { | |
private EditText editText; | |
private OnKeyChangedListener onKeyChangedListener; | |
public interface OnKeyChangedListener { | |
void onKeyUp(String text); | |
void onBackPressed(); | |
} | |
public TextInputOnKeyChangedListener(EditText editText, OnKeyChangedListener onKeyChangedListener) { | |
this.editText = editText; | |
this.onKeyChangedListener = onKeyChangedListener; | |
} | |
@Override | |
public boolean onKey(View view, int i, KeyEvent keyEvent) { | |
if (keyEvent.getKeyCode() == KeyEvent.KEYCODE_BACK) { | |
onKeyChangedListener.onBackPressed(); | |
return true; | |
} | |
if (keyEvent.getAction() == KeyEvent.ACTION_UP) { | |
onKeyChangedListener.onKeyUp(editText.getText().toString()); | |
return true; | |
} | |
return false; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment