EditText限制输入的小数点只能2个
2016-06-23 11:44
411 查看
et.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@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
//这部分是处理如果输入框内小数点后有俩位,那么舍弃最后一位赋值,光标移动到最后
if (s.toString().contains(".")) {
if (s.length() - 1 - s.toString().indexOf(".") >2) {
et.setText(s.toString().subSequence(0,
s.toString().indexOf(".") +3));
et.setSelection(s.toString().trim().length()-1
);
}
}
//这部分是处理如果用户输入以.开头,在前面加上0
if (s.toString().trim().substring(0).equals(".")) {
et.setText("0"+s);
et.setSelection(2);
}
//这里处理用户 多次输入.的处理 比如输入 1..6的形式,是不可以的
if (s.toString().startsWith("0")
&& s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
et.setText(s.subSequence(0, 1));
et.setSelection(1);
return;
}
}
}
});
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@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
//这部分是处理如果输入框内小数点后有俩位,那么舍弃最后一位赋值,光标移动到最后
if (s.toString().contains(".")) {
if (s.length() - 1 - s.toString().indexOf(".") >2) {
et.setText(s.toString().subSequence(0,
s.toString().indexOf(".") +3));
et.setSelection(s.toString().trim().length()-1
);
}
}
//这部分是处理如果用户输入以.开头,在前面加上0
if (s.toString().trim().substring(0).equals(".")) {
et.setText("0"+s);
et.setSelection(2);
}
//这里处理用户 多次输入.的处理 比如输入 1..6的形式,是不可以的
if (s.toString().startsWith("0")
&& s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
et.setText(s.subSequence(0, 1));
et.setSelection(1);
return;
}
}
}
});
}
相关文章推荐
- 【转载】我所理解的BeanUtils.copyProperties() 用法
- 车机系统架构图
- IOS-10行代码搞定九宫格
- docker深入2-使用自定义的网络来配置zookeeper集群
- ArcGIS Online试用 (2)
- nginx源码分析——事件模块
- 转载自爱维论坛关于网卡驱动那些事,经验之谈
- JS实现转动效果
- 快速排序
- bzoj-1192 [HNOI2006]鬼谷子的钱袋(水题)
- 夜间模式
- Android使用SharedPreferences存储数据的实现方法
- ViewPager取消预加载
- dex 指令反汇编
- Java学习笔记(13)Abstract Classes and Interfaces
- IOS开发中使用自定义键盘
- Maven install报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- python下如何使用requests发送multi-part类型的数据
- ubuntu 16 安装搜狗输入法
- android4.0.3 修改启动动画和开机声音