其他分享
首页 > 其他分享> > 带有正则表达式的Android AutoCompleteTextView?

带有正则表达式的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