转载自:http://article.fynas.com/android%E4%B8%8B%E6%90%9C%E7%8B%97%E8%BE%93%E5%85%A5%E6%B3%95%E6%90%9C%E7%B4%A2%E6%8C%89%E9%92%AE%E6%97%A0%E6%95%88
在很多android应用中都有搜索框,当它获得焦点后,输入法会自动弹出,在输入关键词后可以点击应用给设计的搜索按钮,也可以点击输入法中的“搜索”键(一般在输入法的右下角)进行搜索,这样用户使用起来会更加的方便。实现这个功能其实很简单,只需要捕获用户的输入就行了,一般代码如下:
searchAutoCompleteText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// 输入法中点击搜索
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
//这里调用搜索方法
return true;
}
return false;
}
});
但是这对于国内高市占率的搜狗输入法却无效。调试一下很容易发现对于搜狗输入法,点击“搜索”时actionId为0,对应EditorInfo.IME_ACTION_UNSPECIFIED,而不是EditorInfo.IME_ACTION_SEARCH代表的3。
因此改一下上面的if语句,加上一个条件即可:
//一般输入法或搜狗输入法点击搜索按键
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_UNSPECIFIED) {
//这里调用搜索方法
return true;
}
本文介绍了一种在Android应用中使搜狗输入法的搜索键生效的方法。通过调整代码逻辑,使得不论是在标准输入法还是搜狗输入法中点击搜索键都能触发搜索行为。
364

被折叠的 条评论
为什么被折叠?



