下面是支付宝,微信充值要求的可以输入什么值不可以输入什么值要求,保留俩位有效数字,其他等等
mMoney.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
String inputText = s.toString();
if(!TextUtils.isEmpty(inputText)){
char[] inputTextArray = inputText.toCharArray();
int inputTextLength = inputTextArray.length;
// 小数部分
if(inputText.contains(".")){
//第一位
if('.' == inputTextArray[0]){
mMoney.setText("0.");
}else if(inputTextLength - 12 > 0){
mMoney.setText(etTemp);
}else {
if(inputText.indexOf(".")!=inputText.lastIndexOf(".")){
mMoney.setText(etTemp);
}else if (inputText.length() - 1 - inputText.indexOf(".") > 2) {
mMoney.setText(etTemp);
}
}
}else{ //整数部分
//第一位
if('0' == inputTextArray[0]){
if(inputTextArray.length>=2){
if('.' != inputTextArray[1]){
mMoney.setText(etTemp);
}
}
}else if(inputTextArray.length - 9 > 0){ //最多输入9位数
mMoney.setText(etTemp);
}
}
}
}
/**
* 之前
* @param s
* @param start
* @param count
* @param after
*/
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
etTemp = s.toString();
}
/**
* 之后
* @param s
*/
@Override
public void afterTextChanged(Editable s) {
//光标定位到最后一位
mtext = mMoney.getText();
if (mtext instanceof Spannable) {
Spannable spanText = (Spannable) mtext;
Selection.setSelection(spanText, mtext.length());
}
if (TextUtils.isEmpty(mtext)) {
counterfeetext.setVisibility(View.INVISIBLE);
actualmoeny.setText("实际到账金额(元):" + 0);
moneyfee.setText("提现手续费(元):" + 0);// 提现手续费
texttime.setText("");
}else {
try {
mDagFlag="1";
setSize(mtext.toString());
} catch (Exception e) {
// showToast("请输入正的确值");
mDagFlag="2";
}
}
}
});