I've used some apps where when I fill my username, then go to my password, if I hit "Done" on the keyboard, the login form is automatically submitted, without me having to click the submit button. How is this done?
Try this:
In your layout put/edit this:
<EditText android:id="@+id/search_edit" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" android:singleLine="true" android:imeOptions="actionDone" />
In your activity put this (e. g. in onCreate):
// your text box EditText edit_txt = (EditText) findViewById(R.id.search_edit); edit_txt.setOnEditorActionListener(new EditText.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE) { submit_btn.performClick(); return true; } return false; } });
Where submit_btn
is your submit button with your onclick handler attached.
You need to set the IME Options on your EditText
.
<EditText android:id="@+id/some_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Whatever" android:inputType="text" android:imeOptions="actionDone" />
Then add a OnEditorActionListener
to the view to listen for the "done" action.
EditText editText = (EditText) findViewById(R.id.some_view); editText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { boolean handled = false; if (actionId == EditorInfo.IME_ACTION_DONE) { // TODO do something handled = true; } return handled; } });
Official API doc: https://developer.android.com/guide/topics/ui/controls/text.html#ActionEvent
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