EditText设置输入仅能输入两位小数,并且设置输入边界

来源:互联网 发布:康丝0.4数据 编辑:程序博客网 时间:2024/05/16 18:58

1.xml文件中添加输入小数限制

android:numeric="decimal"

2.java代码中添加输入监听

mEt.addTextChangedListener(new TextWatcher() {            @Override            public void onTextChanged(CharSequence s, int start, int before, int count) {            }            @Override            public void beforeTextChanged(CharSequence s, int start, int count,                    int after) {                // TODO Auto-generated method stub            }            @Override            public void afterTextChanged(Editable s) {                 String temp = s.toString();                   if (MAX_VALUE != -1 && MIN_VALUE != -1)                    {                         double markVal = 0;                         try                         {                             markVal = Double.parseDouble(temp);                         }                         catch (NumberFormatException e)                         {                             markVal = 0;                             Toast.makeText(getBaseContext(), "数据有误", Toast.LENGTH_SHORT).show();                         }                         if (markVal > MAX_VALUE) //设置的最大值MAX_VALUE                        {                             markVal = MAX_VALUE;                            Toast.makeText(getBaseContext(), "不能超过最大值", Toast.LENGTH_SHORT).show();                         }                   }                  int posDot = temp.indexOf(".");                  if (posDot == 0) s.insert(0, "0"); //开头输入.自定填充0.                   if (temp.length() - posDot - 1 > 2)  //限制输入两位小数                 {                       s.delete(posDot + 3, posDot + 4);                   }             }        });
0 0
原创粉丝点击