imeOptions “actionNext” programmatically - how to

2019-01-17 09:13发布

In layout XML it is possible to specify android:imeOptions="actionNext" which adds Next button in virtual keyboard and by clicking on it - focus jumps to the next field.

How to do this programmatically - e.g. based on some event trigger focus to go to the next field?

5条回答
别忘想泡老子
2楼-- · 2019-01-17 09:35

Just suggestion, if you are using

     EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE); 

it doesn't work, make sure that your EditText is using a single line.

Eg:

       editTextSample.setSingleLine();
查看更多
Ridiculous、
3楼-- · 2019-01-17 09:35

The kotlin pendant

editText.imeOptions = EditorInfo.IME_ACTION_DONE
查看更多
疯言疯语
4楼-- · 2019-01-17 09:45

There is always necessity to add extra keys apart from default keys available in virtual QWERTY keyboard.

Using XML

<EditText android:text="@+id/EditText01" 
android:id="@+id/EditText01"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:imeOptions="actionDone"/>

By Programmatic Way

An EditorInfo is most useful class when you have to deal with any type of user input in your Android application.

IME_ACTION_DONE: This action performs a “done” operation for nothing to input and the IME will be closed.

 EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE);

For more information you may visit http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html

查看更多
何必那么认真
5楼-- · 2019-01-17 09:53

Search for the next focusable field and than invoke requestFocus().

TextView nextField = (TextView)currentField.focusSearch(View.FOCUS_RIGHT);
nextField.requestFocus();
查看更多
Emotional °昔
6楼-- · 2019-01-17 09:54

You can use the constants from EditorInfo class for the IME options. like,

editText.setImeOptions(EditorInfo.IME_ACTION_NEXT);
查看更多
登录 后发表回答