Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 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;
   }   }
 }
  });