Android EditText仅包含文本、数字和下划线,如Instagram ID
我有一个功能,我只需要验证字符、数字和下划线(没有任何其他特殊字符),就像Instagram ID一样 我试了很多。甚至我在xml中使用digit属性,在java类中使用InputFilter 真正的问题是什么 1.)在某些设备中,它工作正常 2.)在某些设备中,当我按下空格键时,它会自动工作,就像键盘上的反按一样,意味着它会删除最后一个字符 请为我推荐一个合适的解决方案来开发Instagram Id等功能 非常感谢 提前 我的xml在这里Android EditText仅包含文本、数字和下划线,如Instagram ID,android,android-edittext,Android,Android Edittext,我有一个功能,我只需要验证字符、数字和下划线(没有任何其他特殊字符),就像Instagram ID一样 我试了很多。甚至我在xml中使用digit属性,在java类中使用InputFilter 真正的问题是什么 1.)在某些设备中,它工作正常 2.)在某些设备中,当我按下空格键时,它会自动工作,就像键盘上的反按一样,意味着它会删除最后一个字符 请为我推荐一个合适的解决方案来开发Instagram Id等功能 非常感谢 提前 我的xml在这里 <EditText android:id
<EditText
android:id="@+id/edUniqueID"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="45dp"
android:digits="_1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
android:gravity="center"
android:inputType="text"
android:maxLength="15"
android:padding="12dp"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="16sp" />
您可以使用下面的代码以编程方式实现此功能
InputFilter过滤器=新的InputFilter(){
公共CharSequence筛选器(CharSequence源、int开始、int结束、,
跨越目的地、内部数据起点、内部数据起点){
for(int i=start;i
希望这对你有帮助
尝试使用此功能。
<EditText
android:inputType="text"
android:digits="0,1,2,3,4,5,6,7,8,9,qwertzuiopasdfghjklyxcvbnm,_"
/>
显示带有数字属性的xml代码检查我添加的
EditText
@Parsania hardik在我的情况下不工作的可能重复项。我已经用过了。@Nerevarbro您的xml在我的工作室工作。我查过了。你有什么设备???请给我你的设备的完整描述。我收到了摩托罗拉G3,你能告诉我你的设备版本吗?事实上,它在较新的Androids(如4.0+)中运行得不太好。它在EditText中还包括“,”(Coma)。@HarshPatel如果你需要包含逗号,请保留它,否则你也可以使用这个android:digits=“0123456789qwertzuiopasdfghjklyxcvbnm”
@jaydroider如果我在没有昏迷的情况下使用,它也会出现同样的问题。
<EditText
android:inputType="text"
android:digits="0,1,2,3,4,5,6,7,8,9,qwertzuiopasdfghjklyxcvbnm,_"
/>
<EditText
android:inputType="text"
android:digits="0123456789qwertzuiopasdfghjklyxcvbnm_"
/>