Android EditText 对输入字数和内容范围进行限制
在做定制机时,对光敏值进行范围控制时,以及对区号输入时遇到对输入字数以及输入内容的显示。找了好多方法,终于找到了几种方法其中EditText的addTextChangedListener功不可没。例如对光敏值要在0到61之间。大于61时要在输入框中自动变为61.代码如下:
edt.addTextChangedListener(new TextWatcher() { String nums = null; @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (s != null && !s.equals("")) { if (numSmall != -1 && numBig != -1) {//最大值和最小值自设 int a = 0; try { a = Integer.parseInt(s.toString()); } catch (NumberFormatException e) { // TODO Auto-generated catch block a = 0; } if (a > 61) edt.setText("61"); return; } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub /*if (start == 4) { nums = s.toString(); }*/ } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { /* * Toast.makeText(getBaseContext(), s + "****" + start + "***" + * before, 3000).show(); */ if (start > 1) { if (numSmall != -1 && numBig != -1) { int num = Integer.parseInt(s.toString()); if (num > 61) { s = "61"; } return; } } } });
最后更新:2017-04-04 07:03:42