在布局XML中,可以指定android:imeOptions="actionNext"
,它在虚拟键盘中添加Next
按钮并通过单击它 - 焦点跳转到下一个字段。
如何以编程方式执行此操作 - 例如基于某些事件触发焦点转到下一个字段?
您可以使用EditorInfo类中的常量作为IME选项。喜欢,
editText.setImeOptions(EditorInfo.IME_ACTION_NEXT);
搜索下一个可聚焦字段,然后调用requestFocus()
。
TextView nextField = (TextView)currentField.focusSearch(View.FOCUS_RIGHT);
nextField.requestFocus();
只是建议,如果你正在使用
EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE);
它不起作用,请确保您的EditText使用单行。
例如:
editTextSample.setSingleLine();
除了虚拟QWERTY
键盘中的默认键之外,总是需要添加额外的键。
使用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
当您必须在Android应用程序中处理任何类型的用户输入时,EditorInfo
是最有用的类。
IME_ACTION_DONE:
此操作执行“完成”操作,无需输入任何内容,IME将关闭。
EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE);
有关更多信息,请访问http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html
kotlin吊坠
editText.imeOptions = EditorInfo.IME_ACTION_DONE
editText.setLines(1);
editText.setSingleLine(true);
editText.setImeOptions(EditorInfo.IME_ACTION_GO);
我解决了问题,确保使用单行,然后单击enter进入下一个editText