AndroidEditText校验 只输入数字或特定字符
来源:互联网 发布:数据库管理第三版答案 编辑:程序博客网 时间:2024/05/21 20:55
EditText的layout设置大家都知道就不累赘了,这里主要说怎么设置输入限制。
EditText的属性里面已经封装好了相关的设置,上一篇文章里面也提到了,不熟悉的可以去查看上一篇EditText属性大全,这里着重讲输入限制的属性:
android:digits="1234567890.+-*/%\n()"
限制输入框中只能输入自己定义的这些字符串 如果输入其它将不予以显示
android:phoneNumber="true"
限制输入框中只能输入手机号码
android:password="true"
限制输入框中输入的任何内容将以"*"符号来显示
android:hint="默认文字"
输入内容前默认显示在输入框中的文字
android:textColorHint="#FF0000"
设置文字内容颜色
android:enabled="false"
设置输入框不能被编辑
如果还有一些特殊的限制,比如我做一个项目只能输入数字,且输入0之后再输入1,则只显示1,这就需要单独去进行设置了,也非常的简单。
给EditText添加一个监听事件,当检测到里面的内容变化以后,根据需求,修改相关的内容就可以了。
使用EditText的addTextChangedListener(TextWatcher watcher)方法对EditText实现监听,TextWatcher是一个接口类,所以必须实现TextWatcher里的抽象方法:
当EditText里面的内容有变化的时候,触发TextChangedListener事件,就会调用TextWatcher里面的抽象方法。
- public class MainActivity extends Activity {
-
-
String str; -
-
-
-
setContentView(R.layout.main); -
-
text = (EditText)findViewById(R.id.text); -
text.addTextChangedListener(textWatcher); -
} -
-
-
-
-
-
-
Log.d( -
} -
-
-
-
-
-
Log.d( -
} -
-
-
-
Log.d( -
str = text.getText().toString(); -
-
-
Integer.parseInt(str); -
-
} -
-
-
} -
-
} -
}; - }
该方法可以监听到Edittext的变化,我在onTextChanged里面监听s值得变化,然后做修改以后再setText到EditText里面,不过这时候经常会遇见光标跑到最前面的情况,很恶心,随意每次setText的时候都需要用ev.setSelection(str.length())去重新设置光标位置为str字符串的最后。
- AndroidEditText校验 只输入数字或特定字符
- EditText特定字符的输入与校验
- 键盘只能输入数字(或其它特定的规定字符)
- 只能输入数字和字母,特定字符
- 文本域中只允许输入特定长度的字符
- html只允许输入的数据校验,只允许输入字母汉字数字等
- 只允许输入字母或数字的文本框
- C#中TextBox只允许输入数字或小数
- C#中TextBox只允许输入数字或小数
- TextBox JavaScript 只允许输入数字或字母
- 让TextBox只输入金额或数字的方法
- TextBox JavaScript 只允许输入数字或字母
- Js 控制输入 数字,或只允许2位小数点
- jquery控制只输入数字或小数点后几位
- Android设置EditText只接受数字输入以及定义字符
- js 过滤非法字符,只输入数字,文本框长度限制
- javascript 数字输入校验
- 使用jquery对输入框内容设置自动校验,只允许数字的输入
- 前端web资源word格式汇总
- Android的DrawText详解
- mac下的error: 'Access denied for user 'root'@'localhost' (using password: YES)'
- 斐波拉契数列-演变
- Tomcat8.x 上下文(StandardServer)中命名上下文(NamingContext)的创建
- AndroidEditText校验 只输入数字或特定字符
- ASimpleCache的使用,不用下载jar包
- 三角形面积求法 <包含三维坐标求三角形面积 3D>
- 我的servlet学习过程(二):tomcat服务器部分
- 指针常量和常量指针的区别
- 使用ptrace向已运行进程中注入.so并执行相关函数
- 高斯消元1(解方程)
- 112. Path Sum | LeetCode
- leetcode 92. Reverse Linked List II