限制输入小数点两位
需要对输入框设置键盘类型 inputType:number_decimal
bank_card_pay_balance.addTextChangedListener(new TextWatcher() {
boolean deleteLastChar;//是否需要删除末尾
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(s.toString().contains(".")){
//如果点后面有超过三位数值,则删掉最后一位
int length=s.length()-s.toString().lastIndexOf(".");
if(length>=4){//说明后面有三位数值
deleteLastChar=true;
}else{
deleteLastChar=false;
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after) {
}
@Override
public void afterTextChanged(Editable s) {
if(deleteLastChar){
//设置新的截取的字符串
bank_card_pay_balance.setText(s.toString().substring(0, s.toString().length()-1));
//光标强制到末尾
bank_card_pay_balance.setSelection(bank_card_pay_balance.getText().length());
}
}
});