I need to detect every key press on either a soft or hard keyboard in EditText
. I just need to send the characters one at a time as they are pressed and don't need the final text string.
I have tried using an EditText
with onKeyPress
, but I ran into the problems here with not getting key presses with soft keyboards and TextWatcher
isn't a good option because I need each key press. Is there any solution to know all the keypresses (including back, shift, enter... also)?
You can use View. OnFocusChangeListener to detect if any view (edittext) gained or lost focus. This goes in your activity or fragment or wherever you have the EditTexts.
In order to show the error below the EditText use: TextInputLayout til = (TextInputLayout) findViewById(R. id. username); til.
If you have an EditText
, then you can use the TextWatcher
interface. In my code, search_edit
is an EditText
.
search_edit.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { //here is your code myadapter.getFilter().filter(s); listview.setAdapter(myadapter); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } });
Implement this:
et_code_1.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER) { /* do something */ } return true; } });
As you would like to implement a Soft key listener, you can implement TextWatcher. Here is an example: How to use the TextWatcher class in Android?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With