如何限制 Android EditText 字段中的特殊字符?
如何限制 Android EditText 字段中的特殊字符?
How to restrict special characters from an Android EditText field?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何限制 Android EditText 字段中的特殊字符?
How to restrict special characters from an Android EditText field?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
您是否尝试过添加
android:digits="abcde.....0123456789"
属性?尽管
android:digits
指定它是一个数字字段,但将其设置为接受字母和特殊字符(在 SDK-7 上测试)确实对我有用。如果这不起作用,那么您必须实现
KeyListener
请参阅:http://developer. android.com/reference/android/widget/TextView.html#setKeyListener(android.text.method.KeyListener)
Have you tried adding the
android:digits="abcde.....0123456789"
attribute?Although the
android:digits
specify that it is a numeric field, it does work for me to set it to accept letters as well, and special characters as well (tested on SDK-7).If this doesn't work then you'll have to implement
KeyListener
see: http://developer.android.com/reference/android/widget/TextView.html#setKeyListener(android.text.method.KeyListener)
只需将 EditText 对象传递给此方法即可。还要在变量 blockCharacterSet 中添加要阻止的值。
Just pass the EditText object to this method. Also add the values that is to be blocked in the variable blockCharacterSet.
我在回答中解决了这个问题:防止 EditText 中的特殊符号。您可以根据您的要求更改正则表达式。
I have solved this problem in my answer: Prevent special symbols in EditText. You can change the regex as per your requirement.
只需将 xml 行下方放入 edittext 块中即可。
这将允许仅输入 a、b 和 c 字符。
Just put below xml line inside edittext block.
This will allow to enter only a,b and c characters.
这是包含空格的 Kotlin 版本:
Here's a Kotlin version including whitespace:
我创建了一个类,用于更灵活地设置 EditText 的输入约束:
https://github.com/devapro/NumberWatcher< /a>
它仅适用于数字输入,但您可以更改任何类型。
I created a class for more flexible settings of input constraints to EditText:
https://github.com/devapro/NumberWatcher
It is implementation only for numbers input, but you can change it for any of the types.