2011/03/14

Android - キーボードの決定ボタン - imeOptions (EditText)

東北地方太平洋沖地震ということで、とても大変な状況ですが、節電しつつ自分なりに普段の生活を送ろうとAndroidアプリ開発を再開 。


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 コメント:

Unknown さんのコメント...

ちょうどキーボード入力で、アドレスバー入力確定後にWebブラウザにURLを読ませたかったので、とても助かりました。ありがとうございました。

ゆちゃん さんのコメント...

いえいえ、お助けになることができて良かったです^^

コメントを投稿

 
;