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

Android EditText 限制输入类型数字或小数,并且小数位数限定为两位

2017-07-26 12:10 435 查看

//允许输入数字并且可以为小数
edit.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_VARIATION_NORMAL);
//contentEdit.setInputType(type);
contentEdit.addTextChangedListener(new TextWatcher() {
private int selectionStart;
private int selectionEnd;
private CharSequence temp;

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
temp = s;

}

@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub

}

@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
selectionStart = edit.getSelectionStart();
selectionEnd = edit.getSelectionEnd();

if (!StringUtil.isOnlyPointNumber(edit.getText().toString())){
PromptManager.showToast(context,"您输入的数字保留在小数点后两位");
//删除多余输入的字(不会显示出来)
s.delete(selectionStart - 1, selectionEnd);
edit.setText(s);
}

}

});

public static boolean isOnlyPointNumber(String number) {//保留两位小数正则
Pattern pattern = Pattern.compile("^\\d+\\.?\\d{0,2}$");
Matcher matcher = pattern.matcher(number);
return matcher.matches();
}

xml布局文件   需加上
android:inputType="numberDecimal"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐