今天发现一个好玩的,也是常用的
输入框输入完后按回车搜索,并且隐藏键盘。
第一步: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); //....其他搜索内容... }
时间: 2024-10-25 23:22:54