您的位置:首页 > 移动开发 > Android开发

Android EditText限制小数点输入两位

2015-08-13 16:34 465 查看
限制输入小数点两位
需要对输入框设置键盘类型 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());
}
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: