EditText不能输入空格且回车搜索

来源:互联网 发布:时间序列算法有哪些 编辑:程序博客网 时间:2024/05/05 22:49

xml文件:

<EditText                android:id="@+id/et_key"                android:layout_width="0dp"                android:layout_height="match_parent"                android:layout_weight="1"                android:background="@drawable/shape_edittext_radius"                android:gravity="center_vertical"                android:hint="请输入关键字"                android:padding="5dp"                android:textSize="12sp"                android:singleLine="true"                android:imeOptions="actionSearch"/>

最主要的是要添加如下两个属性:

android:singleLine="true"                android:imeOptions="actionSearch"

代码:

et_key = (EditText) findViewById(R.id.et_key);        // 不能输入空格        InputFilter filter = new InputFilter() {            @Override            public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {                //返回null表示接收输入的字符,返回空字符串表示不接受输入的字符                if (TextUtils.equals(source, " ")) {                    return "";                }                if (TextUtils.equals(source, "  ")) {                    return "";                }                return null;            }        };        et_key.setFilters(new InputFilter[]{filter});        // 点击回车则搜索(onSearchClicked方法有隐藏键盘)        et_key.setOnKeyListener(new View.OnKeyListener() {            @Override            public boolean onKey(View v, int keyCode, KeyEvent event) {                if (keyCode == KeyEvent.KEYCODE_ENTER) {                    // 搜索                    onSearchClicked();                }                return false;            }        });

隐藏键盘:

// 收起软键盘并搜索        inputMethodManager.hideSoftInputFromWindow(et_key.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); //强制隐藏键盘        keyWords = et_key.getText().toString().replaceAll(" ", "");        if (TextUtils.isEmpty(keyWords)) {            ToastTools.toastShort(this, "关键字不能为空");            return;        }
0 0
原创粉丝点击