开发中会遇到这样的业务要求:点击搜索框输入内容时,键盘的回车键应该是搜索。然后点击键盘的搜索时执行搜索操作。这是怎么实现的呢?其实很简单:
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
等。
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
Log.i("---","搜索操作执行");
}
return false;
}
});