点击回车搜索

今天发现一个好玩的,也是常用的

输入框输入完后按回车搜索,并且隐藏键盘。

第一步:xml

<EditText
android:id="@+id/city"
android:imeOptions="actionSearch"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

<Button
android:id="@+id/search"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="搜索" />

 第二步,重写回车键

edit = (EditText) findViewById(R.id.edit);
search = (Button) findViewById(R.id.search);

city.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_ENTER) {//重写回车键
                    search();
                }
                return false;//这里很好玩,你把false改成true试试,你会发现其他按键会被拦截
            }
        });
getWeather.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
         search();
     }
 });

 第三步,隐藏小键盘

//隐藏键盘
public class HideKeyBoard {
    //注意,这里不是构造方法
    public static void HideKeyBoard(Activity activity){
        InputMethodManager inputMethodManager = (InputMethodManager)
                activity.getSystemService(Context.INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus()
                .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }
}

第四步,在search()中使用

public void search(){
        //隐藏键盘
        HideKeyBoard.HideKeyBoard(this);
      //....其他搜索内容... }
原文地址:https://www.cnblogs.com/wabi87547568/p/5427027.html