Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to know key presses in EditText

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)?

like image 289
jettimadhuChowdary Avatar asked Aug 19 '11 05:08

jettimadhuChowdary


People also ask

How do I check my EditText focus?

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.

How do I show errors in EditText?

In order to show the error below the EditText use: TextInputLayout til = (TextInputLayout) findViewById(R. id. username); til.


2 Answers

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                       } }); 
like image 130
Harshid Avatar answered Sep 21 '22 04:09

Harshid


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

Update:

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?

like image 37
Paresh Mayani Avatar answered Sep 19 '22 04:09

Paresh Mayani