Android EditText 监听回车键

xiaoxiao2021-02-28  87

开发中会遇到这样的业务要求:点击搜索框输入内容时,键盘的回车键应该是搜索。然后点击键盘的搜索时执行搜索操作。这是怎么实现的呢? 首先要明确在Android里面可以通过setOnEditorActionListener监听回车达到屏蔽回车按键的目的。它在API的TextView(EditText的父类),谷歌大意这样描述它:它是一个特殊的监听器,用于监听一个Enter键,如果设备具有物理键盘,点击Enter建不会插入回车符,不过按着alt键可以修复。

1:布局中 在EditText 中加入以下两句就可实现键盘回车键的修改。

android:imeOptions="actionSearch" android:singleLine="true"

其中Android:imeOptions 有多种属性:

1:默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框 2:设置 android:imeOptions=”actionDone” ,软键盘下方变成“完成” 3:android:imeOptions=”actionSend” 软键盘下方变成“发送”,点击后光标移动下一个

2:监听键盘回车键

EditText实现setOnEditorActionListener,在onEditAction方法中actionId就对应我们设置的imeOptions。系统默认的actionId有:EditorInfo.IME_NULL、EditorInfo.IME_ACTION_SEND、EditorInfo.IME_ACTION_DONE等。 private TextView.OnEditorActionListener EnterListenter = new TextView.OnEditorActionListener() { /** * 参数说明 * @param v 被监听的对象 * @param actionId 动作标识符,如果值等于EditorInfo.IME_NULL,则回车键被按下。 * @param event 如果由输入键触发,这是事件;否则,这是空的(比如非输入键触发是空的)。 * @return 返回你的动作 */ @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_SEARCH) { Log.i("---","搜索操作执行"); } return false; } };
转载请注明原文地址: https://www.6miu.com/read-33088.html

最新回复(0)