我在Android应用程序上有许多EditText字段,我使用了android:digits来阻止输入无效字符。
例如:
android:digits="@string/validchars"
(其中“validchars”是所有有效字符的字符串资源 - 例如A-Z,0-9和一些标点符号)
问题是,如果用户按下软键盘上的ENTER键,它会将它们带到下一个字段但是因为我添加了android:digits位这已经停止工作了。我已经尝试将\ n添加到validchars
,但这只允许单行文本框中的回车符(!),所以没有帮助。我试图摆弄imeOptions(添加actionNext
等),但这似乎也没有解决它。
我已经阅读过有关TextWatchers和InputFilters的信息,但是对于我正在尝试做的事情似乎都过于复杂,android:digits
位在停止无效字符时效果很好。
有没有人有任何想法?
我使用的是Android SDK版本8,同时针对2.2和2.3.5设备。
答案 0 :(得分:22)
在使用EditText的可用属性后,我发现当我添加android:singleLine =“true”时,ENTER键现在将焦点移动到下一个字段,即使android:digits限制了输入的字符。问题解决了! (对我来说,无论如何!)