gpt4 book ai didi

java - 验证 EditText

转载 作者:行者123 更新时间:2023-12-02 02:12:31 26 4
gpt4 key购买 nike

我的应用程序中有一个 EditText (et)。我希望能够限制字符数并验证输入。

我的输入类型是字符串序列,例如,n = 数字,a = alpha。如果我说 10 个(最多)个字符,我的输入字符串将类似于...

啊啊啊啊啊

我在使这一切正常工作时遇到问题。它似乎首先在我的字符计数上失败(我注释掉了验证)。我遇到一个奇怪的问题,我的文本加倍了。这是我的代码...

et.setFilters(new InputFilter[] {
new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {

if (source.equals("")) {
return source;
}
else {
String boxInput = source.toString();
String textFormat = options.getFormattedTextFormat();
int maxChars = options.getFormattedTextMaxChars();
if (maxChars > 0 && source.length() > maxChars) {
Toast.makeText(OpenForm.this, R.string.maxCharsText + " " + maxChars, Toast.LENGTH_SHORT).show();
boxInput = source.toString().substring(0,maxChars - 1);
source = boxInput;
}
if (!textFormat.isEmpty()) {
for (int i = 0; i < boxInput.length(); i++) {
char c = boxInput.charAt(i);
char test = textFormat.charAt(i);

if (test == 'n' && !Character.isDigit(c)) {
// Testing for a number, but character is not a number
Toast.makeText(OpenForm.this, R.string.badNumber + " " + i, Toast.LENGTH_SHORT).show();
} else if (test == 'a' && Character.isDigit(c)) {
// Testing for a letter but character is a number
Toast.makeText(OpenForm.this, R.string.badLetter + " " + i, Toast.LENGTH_SHORT).show();
}

//return boxInput;
}
}

return boxInput;
}
}
}
});

最佳答案

在 XML 中您可以添加此内容。

android:maxLength="10"

从中获取文本以验证您可以执行此操作..

String text = editText.getText().toString().trim();

if (text.equals("whatev") {

}

以编程方式限制编辑文本......

InputFilter[] filter = new InputFilter[1];
filter[0] = new InputFilter.LengthFilter(10);
editText.setFilters(filter);

您仍然可以像上面一样从中获取文本。

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

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