android EditText设置只能输入金额

设置 EditText只能输入金额 用InputFilter过滤


private EditText money;



money = (EditText) findViewById(R.id.money);


//设置过滤器
money.setFilters(new InputFilter[]{new InputMoney()});



/**
  * 限制只能输入金额
  * 
  * @author zengchao
  * 
  */
 private class InputMoney implements InputFilter{

  @Override
  public CharSequence filter(CharSequence source, int start, int end,
    Spanned dest, int dstart, int dend) {
   // TODO Auto-generated method stub
   if (source.toString().equals(".") && dstart == 0 && dend == 0) {//判断小数点是否在第一位
    money.setText(0+""+source+dest);//给小数点前面加0
    money.setSelection(2);//设置光标
   }
   
   if (dest.toString().indexOf(".") != -1 && (dest.length() - dest.toString().indexOf(".")) > 2) {//判断小数点是否存在并且小数点后面是否已有两个字符

    if ((dest.length() - dstart) < 3) {//判断现在输入的字符是不是在小数点后面
     return "";//过滤当前输入的字符
    }
   }
   
   return null;
  }
  
 }
xml





你可能感兴趣的:(Android,小点)