gpt4 book ai didi

Android EditText 空间验证

转载 作者:行者123 更新时间:2023-12-02 05:42:33 24 4
gpt4 key购买 nike

我的 android 应用程序中有一个 Edittext。我不想让用户输入第一个空格字符..但是 输入其他字符后用户也可以输入空格 ..我用

    <EditText
android:id="@+id/editText1_in_row"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:digits="_,qwertzuiopasdfghjklyxcvbnm,QWERTYUIOPASDFGHJKLZXCVBNM,0123456789">

但在这种情况下,用户不能输入空格。

我也使用了 Text Watcher 但我不需要在输入文本时允许用户作为
android:digits 有效。

最佳答案

final EditText editText = (EditText)findViewById(R.id.editText1_in_row);


InputFilter filter = new InputFilter() {
boolean canEnterSpace = false;

public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {

if(editText.getText().toString().equals(""))
{
canEnterSpace = false;
}

StringBuilder builder = new StringBuilder();

for (int i = start; i < end; i++) {
char currentChar = source.charAt(i);

if (Character.isLetterOrDigit(currentChar) || currentChar == '_') {
builder.append(currentChar);
canEnterSpace = true;
}

if(Character.isWhitespace(currentChar) && canEnterSpace) {
builder.append(currentChar);
}


}
return builder.toString();
}

};


editText.setFilters(new InputFilter[]{filter});

并从您的 EditText 中删除此属性
android:digits="_,qwertzuiopasdfghjklyxcvbnm,QWERTYUIOPASDFGHJKLZXCVBNM,0123456789"

此代码完全根据您的需要工作。

关于Android EditText 空间验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19511075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com