今天發現一個好玩的,也是經常使用的android
輸入框輸入完後按回車搜索,而且隱藏鍵盤。ide
第一步:xmlthis
<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="搜索" />
第二步,重寫回車鍵spa
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(); } });
第三步,隱藏小鍵盤code
//隱藏鍵盤 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()中使用xml
public void search(){ //隱藏鍵盤 HideKeyBoard.HideKeyBoard(this); //....其餘搜索內容... }