imeOptions“actionNext”以编程方式 - 如何跳转到下一个字段?

问题描述 投票:83回答:6

在布局XML中,可以指定android:imeOptions="actionNext",它在虚拟键盘中添加Next按钮并通过单击它 - 焦点跳转到下一个字段。

如何以编程方式执行此操作 - 例如基于某些事件触发焦点转到下一个字段?

android android-widget
6个回答
174
投票

您可以使用EditorInfo类中的常量作为IME选项。喜欢,

editText.setImeOptions(EditorInfo.IME_ACTION_NEXT);

26
投票

搜索下一个可聚焦字段,然后调用requestFocus()

TextView nextField = (TextView)currentField.focusSearch(View.FOCUS_RIGHT);
nextField.requestFocus();

15
投票

只是建议,如果你正在使用

     EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE); 

它不起作用,请确保您的EditText使用单行。

例如:

       editTextSample.setSingleLine();

8
投票

除了虚拟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


1
投票

kotlin吊坠

editText.imeOptions = EditorInfo.IME_ACTION_DONE

0
投票
editText.setLines(1);
editText.setSingleLine(true);
editText.setImeOptions(EditorInfo.IME_ACTION_GO);

我解决了问题,确保使用单行,然后单击enter进入下一个editText

© www.soinside.com 2019 - 2024. All rights reserved.