web-dev-qa-db-ja.com

プログラムでimeOptions "actionNext"-次のフィールドにジャンプする方法は?

レイアウトXMLでは、仮想キーボードにNextボタンを追加するAndroid:imeOptions="actionNext"を指定し、それをクリックすることにより、次のフィールドにフォーカスがジャンプします。

プログラムでこれを行う方法-例いくつかのイベントトリガーフォーカスに基づいて、次のフィールドに移動しますか?

87
Laimoncijus

IMEオプションにEditorInfoクラスの定数を使用できます。のような、

editText.setImeOptions(EditorInfo.IME_ACTION_NEXT);
176
Firewall_Sudhan

次のフォーカス可能なフィールドを検索し、requestFocus()を呼び出します。

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

あなたが使用している場合、ちょうど提案

     EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE); 

動作しません。EditTextが単一行を使用していることを確認してください。

例えば:

       editTextSample.setSingleLine();
15
ziniestro

仮想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

EditorInfoは、Androidアプリケーションであらゆるタイプのユーザー入力を処理する必要がある場合に最も有用なクラスです。

IME_ACTION_DONE:このアクションは、何も入力しないと「完了」操作を実行し、IMEは閉じられます。

 EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE);

詳細については、 http://developer.Android.com/reference/Android/view/inputmethod/EditorInfo.html をご覧ください。

8
IntelliJ Amiya
editText.setLines(1);
editText.setSingleLine(true);
editText.setImeOptions(EditorInfo.IME_ACTION_GO);

私は問題を解決し、1行で確認し、Enterをクリックすると次のeditTextに行きます

1
Handelika

コトリンペンダント

editText.imeOptions = EditorInfo.IME_ACTION_DONE
1
kuzdu