限制EditText的输入内容
发布时间:2020-12-14 01:40:20 所属栏目:百科 来源:网络整理
导读:private String JID,laststring;private int lastcount;EditText edt=(EditText)findViewById(R.id.edt);edt.addTextChangedListener(watcher);private TextWatcher watcher=new TextWatcher() {@Overridepublic void onTextChanged(CharSequence s,int star
private String JID,laststring; private int lastcount; EditText edt=(EditText)findViewById(R.id.edt); edt.addTextChangedListener(watcher); private TextWatcher watcher=new TextWatcher() { @Override public void onTextChanged(CharSequence s,int start,int before,int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s,int count,int after) { // 获取输入前的光标位置以及内容 laststring=edt.getText().toString(); lastcount=edt.getSelectionStart(); } @Override public void afterTextChanged(Editable s) { // 获取输入后内容 String strorder=edt.getText().toString(); if (strorder.length()!=0&&laststring.length()<strorder.length()) { //限制只输入汉字,字母以及数字的正则表达式 String regEx="^[u4e00-u9fa5a-zA-Z0-9]+$"; Pattern p = Pattern.compile(regEx); //截取输入的字符串 String newinput=strorder.substring(lastcount,strorder.length()-laststring.length()+lastcount); Matcher m = p.matcher(newinput); if (!m.matches()) { edt.setText(laststring); edt.setSelection(edt.length()); System.out.println("只能输入汉字,字母以及数字"); } } } }; 可以编写不同的正则表达式来限制其他的输入内容! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |