我想不出这是怎么回事.一些应用程序有一个EditText(文本框),当你touch 它时,它会调出屏幕上的键盘,键盘上有一个"搜索"按钮,而不是Enter键.

我想实现这一点.如何实现搜索按钮并检测搜索按钮的按下?

Edit:找到了如何实现搜索按钮;XML为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;
    }
});

Android相关问答推荐

更新Jetpack Compose打破了动态色彩

Kotlin多平台向导,不兼容版本(ANP 8.2.0)ANP 8.1.2

无法列出目录中的文件'

如何在Android Jetpack Compose中找到我的手机屏幕一行有多少个单词

为什么Ionic-checkbox不总是刷新Android上的视图?

如何将Unicode符号作为文本居中放置在布局中的按钮(Android XML)中?

如何从LazyColumn中的图标异步获取可绘制的加载?

弹出导航堆栈后,Compose 无法访问 Hilt View Model

布局可组合项如何具有可测量和约束参数?

如何在卡片视图右侧添加箭头

如何在这段代码android jetpack compose中实现全屏滚动

如何使用滑行加载媒体的专辑封面?

在一个函数中组合相同的流 struct

如何将一个没有 GRADLE 的古老 Android 项目导入到今天的 Android Studio 中?

在 react native 中设置 react-native-paper 组件的样式

Android Transitions API - 在 24-48 小时后停止接收任何更新

在alert 对话框生成器中启动协程

在 Kotlin 客户端应用程序中发送 FCM 推送通知 - Firebase 云消息传递

0dp 大小的可组合文件是否可以组合?

EAS 构建失败,错误代码为 1,但 Expo Build 成功,我需要 EAS 构建来删除未使用的包,如 com.segment.analytics.android:analytics