带有正则表达式的Android AutoCompleteTextView?
作者:互联网
从这里的iOS,.Net,C和Fortran到Android,这都是Android的新手.
如果我有一个带有1000个字符串的ArrayAdapter,如何修改AutoCompleteTextView(或MultiAutoCompleteTextView或任何派生的类),以便可以使用正则表达式修改字符串的匹配条件.
通过一个简短的示例更容易理解:
ArrayAdapter的典型内容:
W 20 x 100
W 16 x 89 -> 1
W 16 x 15 -> 2
WT 8 x 44
C 9
我想忽略用户是否使用空格OR / AND小写的’x’来显示可能的匹配项列表’
因此,如果用户键入W 16x或W16 x或w16,则-> 1和-> 2都将显示在自动完成建议列表中.
解决方法:
既然您是一名编码人员,那么我会带您正确的方向……这不是写给您的示例,而是Java / Android中RegEx的常规示例.
protected ArrayList<String> splitMsg(SmsMessage smsMessage) {
ArrayList<String> smt;
Pattern p = Pattern.compile(".{1,160}");
Matcher regexMatcher = p.matcher(smsMessage.getMsgBody());
smt = new ArrayList<String>();
while (regexMatcher.find()) {
smt.add(regexMatcher.group());
}
return smt;
}
没有验证,因此您必须实现:
smsMsgBody_editText.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
/*
* Do something fancy like regex match ;)
*/
}
});
标签:autocompletetextview,android,regex,textview 来源: https://codeday.me/bug/20191011/1893428.html