EditTextで, IMEの決定アクションを行っ際のイベントを取得したかった為,それに関する内容をまとめました。
まず, EditTextの android:imeOptions フィールドに, actionNone, actionDone, actionNext, actionSend, actionGo, actionSearch
などの値を設定することができます。
これらの値を設定した場合, アイコンが以下の様になります。
< actionNone >
< actionDone >
< actionNext >
< actionSend >
< actionGo >
< actionSearch >
で、これを設定した際のアクションを設定する場合は, 以下のようにすれば良いらしいです。
EditText edittext1 = (EditText) findViewById(R.id.edittext1); edittext1.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_SEARCH) { search(); // search処理 } return true; // falseを返すと, IMEがSearch→Doneへと切り替わる } });
<EditText android:id="@+id/edittext1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="text" android:imeOptions="actionSearch" android:hint="てすと" />
ご参考までに。
2 コメント:
ちょうどキーボード入力で、アドレスバー入力確定後にWebブラウザにURLを読ませたかったので、とても助かりました。ありがとうございました。
いえいえ、お助けになることができて良かったです^^
コメントを投稿