当前位置: 代码迷 >> Android >> Android下响应输入法搜寻按钮
  详细解决方案

Android下响应输入法搜寻按钮

热度:77   发布时间:2016-04-28 04:13:33.0
Android下响应输入法搜索按钮

?

转载自: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;}

?

  相关解决方案