EditText限制输入的小数点只能一个
2016-04-09 11:43
197 查看
et_xiaoshishu.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(".") >1) {
et_xiaoshishu.setText(s.toString().subSequence(0,
s.toString().indexOf(".") +2));
et_xiaoshishu.setSelection(s.toString().trim().length()-1
);
}
}
//这部分是处理如果用户输入以.开头,在前面加上0
if (s.toString().trim().substring(0).equals(".")) {
et_xiaoshishu.setText("0"+s);
et_xiaoshishu.setSelection(2);
}
//这里处理用户 多次输入.的处理 比如输入 1..6的形式,是不可以的
if (s.toString().startsWith("0")
&& s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
et_xiaoshishu.setText(s.subSequence(0, 1));
et_xiaoshishu.setSelection(1);
return;
}
}
}
});
et_xiaoshishu 为Editetext 文本输入框
@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(".") >1) {
et_xiaoshishu.setText(s.toString().subSequence(0,
s.toString().indexOf(".") +2));
et_xiaoshishu.setSelection(s.toString().trim().length()-1
);
}
}
//这部分是处理如果用户输入以.开头,在前面加上0
if (s.toString().trim().substring(0).equals(".")) {
et_xiaoshishu.setText("0"+s);
et_xiaoshishu.setSelection(2);
}
//这里处理用户 多次输入.的处理 比如输入 1..6的形式,是不可以的
if (s.toString().startsWith("0")
&& s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
et_xiaoshishu.setText(s.subSequence(0, 1));
et_xiaoshishu.setSelection(1);
return;
}
}
}
});
et_xiaoshishu 为Editetext 文本输入框
相关文章推荐
- 山东省第四届 A Rescue The Princess
- 终于能轻松一阵了
- Android-使用ScrollView设置滚动界面
- 第三季:UEFI SecureBoot ESP MSR等相关名词解释
- 探索HashMap实现原理及其在jdk8数据结构的改进
- C++ 单位整型计算器,仅支持带括号的四则运算。初学c++第一个个人作品
- 第二季:在UEFI+GPT模式下用U安装系统
- java实现条件编译
- 搭建ZooKeeper集群
- C#-委托与事件
- PS图层样式制作3D立体金属吊坠
- 重学数据结构系列之——图的储存
- Picasso源码解析之Lrucache算法源码解析
- 取石子
- Android手势源码浅析------手势的形成(Gesture)
- OpenCV学习笔记之八(保存视频,录制视频,cvLoadImage的路径)
- 《Java程序设计基础》 第8章手记Part 1
- 万事开头难,用HTML写的第一个界面,收获颇多
- 09-netstat查看端口监听的程序arp -a 查看mac
- SharePoint\O365 CSOM操作"请求访问设置"功能