Android: キーボードの Enter ボタンに「検索」と表示させてクリックを処理するにはどうすればよいでしょうか? 質問する

Android: キーボードの Enter ボタンに「検索」と表示させてクリックを処理するにはどうすればよいでしょうか? 質問する

私にはこれが理解できません。一部のアプリには EditText (テキスト ボックス) があり、これを使用してタッチするとオンスクリーン キーボードが表示されますが、キーボードには Enter キーの代わりに「検索」ボタンがあります。

これを実装したいのですが、検索ボタンを実装して、検索ボタンの押下を検出するにはどうすればよいでしょうか?

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

ベストアンサー1

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

<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;
    }
});

Kotlin では以下を使用します:

 editText.setOnEditorActionListener { _, actionId, _ ->
        if (actionId == EditorInfo.IME_ACTION_SEARCH) {
          performSearch()
        }
        true
      }

おすすめ記事