私にはこれが理解できません。一部のアプリには 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
}