Android EditText监听小数点让用户只能输入小数点后两位
2015-01-16 11:49
453 查看
最近项目需要输入价格,但是不想让用户在小数点后面输入太多,所以我封装了一个。当用户输入小数点的时候 监听小数点后面的位数,只要大于两位就立马删掉,封装好了,直接可以拿过来用!
[java] view
plaincopy
public static void setPricePoint(final EditText editText) {
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.toString().contains(".")) {
if (s.length() - 1 - s.toString().indexOf(".") > 2) {
s = s.toString().subSequence(0,
s.toString().indexOf(".") + 3);
editText.setText(s);
editText.setSelection(s.length());
}
}
if (s.toString().trim().substring(0).equals(".")) {
s = "0" + s;
editText.setText(s);
editText.setSelection(2);
}
if (s.toString().startsWith("0")
&& s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
editText.setText(s.subSequence(0, 1));
editText.setSelection(1);
return;
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
}
[java] view
plaincopy
public static void setPricePoint(final EditText editText) {
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.toString().contains(".")) {
if (s.length() - 1 - s.toString().indexOf(".") > 2) {
s = s.toString().subSequence(0,
s.toString().indexOf(".") + 3);
editText.setText(s);
editText.setSelection(s.length());
}
}
if (s.toString().trim().substring(0).equals(".")) {
s = "0" + s;
editText.setText(s);
editText.setSelection(2);
}
if (s.toString().startsWith("0")
&& s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
editText.setText(s.subSequence(0, 1));
editText.setSelection(1);
return;
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
}
相关文章推荐
- Android EditText监听小数点让用户只能输入小数点后两位
- Android EditText监听小数点让用户只能输入小数点后两位
- Android EditText监听小数点让用户只能输入小数点后两位
- Android EditText监听小数点让用户只能输入小数点后两位
- android edittext 限制小数点后最多只能输入两位数字
- Android EditText设置只能输入数字和小数点
- Android开发之EditText 详解三个方法(addTextChangedListener监听用户输入状态)
- Android设置EditText只能输入数字,不包含小数点
- Android EditText 千分位格式化 删除也要自动格式化 监听小数点让用户只能输入小数点后几位
- Android EditText设置只能输入数字和小数点
- edittext只能输入数字和小数点,且小数点后只能输入两位
- edittext限制小数点后面只能输入两位
- Android EditText限制小数点输入两位
- Android开发之EditText 详解(addTextChangedListener监听用户输入状态)
- android EditText最多输入两位小数&不能以小数点开头&最多一个小数点
- Android限定EditText的输入类型为数字或者英文(包括大小写),EditText,TextView只能输入两位小数
- Android开发之EditText 详解(addTextChangedListener监听用户输入状态)
- Android EditText监听只能输入2位小数
- Android EditText 输入金额(小数点后两位)
- EditText输入长度动态控制,最大长度为16位,小数点后面最大为2位,输入整数只能为13位