1. ホーム
  2. android

[解決済み] Android: キーボードの入力ボタンに「検索」と表示させ、そのクリックを処理する方法は?

2022-03-24 20:18:09

質問

これがわからないんです。アプリによっては、EditText(テキストボックス)をタッチしてオンスクリーンキーボードを表示させると、キーボードにエンターキーの代わりに"Search"ボタンが表示されるものがあります。

これを実装したいのです。検索ボタンを実装し、検索ボタンが押されたことを検出するにはどうしたらよいでしょうか。

編集 検索ボタンを実装する方法がわかりました。 android:imeOptions="actionSearch" またはJavaで。 EditTextSample.setImeOptions(EditorInfo.IME_ACTION_SEARCH); . しかし、ユーザーが検索ボタンを押した場合、どのように処理すればよいのでしょうか?それは android:imeActionId ?

解決方法は?

レイアウトで、入力方法のオプションを検索に設定します。

<EditText
    android:imeOptions="actionSearch" 
    android:inputType="text" />

javaにエディターアクションリスナーを追加します。

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_SEARCH) {
            performSearch();
            return true;
        }
        return false;
    }
});