分享

Android EditText 对输入字数和内容范围进行限制

 汉江秋月夜 2014-01-08

Android EditText输入字数和内容范围进行限制

[日期:2012-12-16] 来源:Linux社区  作者:dahuaishu2010 [字体: ]

在做定制机时,对光敏值进行范围控制时,以及对区号输入时遇到对输入字数以及输入内容的显示。找了好多方法,终于找到了几种方法其中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;
    }    }
  }
  });

linux
图片资讯      

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多