3

I got a edit text and a save button , i want to close the keypad on clicking save button instead of pressing back key, keypad has to be closed after i enter save button. How to achieve this please help me and thanks in advance

learner
  • 1,041
  • 3
  • 15
  • 31

2 Answers2

6

You can override onkeypress on your edittext and check if the enter was pressed and if true then hide

myEditText.setOnKeyListener(new OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_ENTER) { 
                InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
        }
     return false;
    }
});
Harish
  • 3,122
  • 2
  • 31
  • 46
Lukap
  • 31,523
  • 64
  • 157
  • 244
1

The follow solution is for the Xamarin friends...

NOTE: This is when at least a character was typed and then the 'Enter' key pressed.

private SearchView _searchView;
public override bool OnCreateOptionsMenu(IMenu menu)
{
     //Do things here... Call MenuInflater......
     _searchView.QueryTextSubmit += _searchView_QueryTextSubmit;
}

void _searchView_QueryTextSubmit(object sender, SearchView.QueryTextSubmitEventArgs e)
{
    InputMethodManager imm =  (InputMethodManager)GetSystemService(InputMethodService);
    imm.HideSoftInputFromWindow(_searchView.WindowToken, HideSoftInputFlags.None);
    e.Handled = true;
}
JohnnyJaxs
  • 321
  • 3
  • 6