Use "ENTER" key on softkeyboard instead of clicking button Use "ENTER" key on softkeyboard instead of clicking button android android

Use "ENTER" key on softkeyboard instead of clicking button


You do it by setting a OnKeyListener on your EditText.

Here is a sample from my own code. I have an EditText named addCourseText, which will call the function addCourseFromTextBox when either the enter key or the d-pad is clicked.

addCourseText = (EditText) findViewById(R.id.clEtAddCourse);addCourseText.setOnKeyListener(new OnKeyListener(){    public boolean onKey(View v, int keyCode, KeyEvent event)    {        if (event.getAction() == KeyEvent.ACTION_DOWN)        {            switch (keyCode)            {                case KeyEvent.KEYCODE_DPAD_CENTER:                case KeyEvent.KEYCODE_ENTER:                    addCourseFromTextBox();                    return true;                default:                    break;            }        }        return false;    }});


<EditText    android:id="@+id/search"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:hint="@string/search_hint"    android:inputType="text"    android:imeOptions="actionSend" />

You can then listen for presses on the action button by defining a TextView.OnEditorActionListener for the EditText element. In your listener, respond to the appropriate IME action ID defined in the EditorInfo class, such as IME_ACTION_SEND. For example:

EditText editText = (EditText) findViewById(R.id.search);editText.setOnEditorActionListener(new OnEditorActionListener() {    @Override    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {        boolean handled = false;        if (actionId == EditorInfo.IME_ACTION_SEND) {            sendMessage();            handled = true;        }        return handled;    }});

Source: https://developer.android.com/training/keyboard-input/style.html


may be you could add a attribute to your EditText like this:

android:imeOptions="actionSearch"