Android 搜索 把软键盘上的回车键改为搜索,并且解决editText监听键盘回车会执行两次的解决方法

时间:2021-06-28 00:36:38

具体实现如下:

   1.修改Editview属性:android:imeOptions="actionSearch"   

  在该Editview获得焦点的时候将“回车”键改为“搜索”

  android:singleLine="true"     

  不然回车【搜索】会换行

2.mEditSearchUser.setOnKeyListener(new OnKeyListener() {

@Override

public boolean onKey(View v, int keyCode, KeyEvent event) {

//发现执行了两次因为onkey事件包含了down和up事件,所以只需要加入其中一个即可。

  if (keyCode == KeyEvent.KEYCODE_ENTER&& event.getAction() == KeyEvent.ACTION_DOWN) {
       // 先隐藏键盘
       ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
       .hideSoftInputFromWindow(SearchUserActivity.this.getCurrentFocus()
       .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
      //进行搜索操作的方法,在该方法中可以加入mEditSearchUser的非空判断
       search();
   }
      return false;
     }
  });