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を読ませたかったので、とても助かりました。ありがとうございました。
いえいえ、お助けになることができて良かったです^^
コメントを投稿