您的位置:首页 > 移动开发 > Android开发

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

2016-11-22 11:02 423 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android EditText