带正则表达式的Android AutoCompleteTextView?
noob到Android,来自iOS,.Net之前的版本,C和Fortran之前的版本 如果我有一个ArrayAdapter,上面有大约1000多个字符串,我如何修改AutoCompleteTextView(或MultiAutoCompleteTextView或任何派生类),以便用正则表达式修改字符串的匹配条件 用一个简短的例子更容易理解: ArrayAdapter的典型内容:带正则表达式的Android AutoCompleteTextView?,android,regex,textview,autocompletetextview,Android,Regex,Textview,Autocompletetextview,noob到Android,来自iOS,.Net之前的版本,C和Fortran之前的版本 如果我有一个ArrayAdapter,上面有大约1000多个字符串,我如何修改AutoCompleteTextView(或MultiAutoCompleteTextView或任何派生类),以便用正则表达式修改字符串的匹配条件 用一个简短的例子更容易理解: ArrayAdapter的典型内容: W 20 x 100 W 16 x 89 -> 1 W 16 x 15 -> 2 WT 8 x
W 20 x 100
W 16 x 89 -> 1
W 16 x 15 -> 2
WT 8 x 44
C 9
我想忽略用户是否使用空格或/和小写字母“x”来显示可能匹配的列表'
因此,如果用户键入
W 16x
或w16x
或W16
则->1
和->2
都将显示在自动完成建议列表中。既然你是一名编码员,我会让你走上正确的道路。。。这不是写在您的示例中,而是Java/Android中正则表达式的一个通用示例
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 ;)
*/
}
});