我使用过滤器进行ArrayAdapter
.现在我想有以下功能:
例如,我的列表视图包含单词käuflich
,搜索输入是kauf
,käuflich
应显示为结果。所以 ö,ä,ü 应该另外替换为 o,a,u。这可能吗?
这是我的简单过滤器
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
Activity.this.adapter.getFilter().filter(cs);
}
谢谢
您可以使用
java.text.Normalizer
删除重音符号。循环访问 Filter.performFiltering(CharSequence)
中的列表项时,请执行以下操作:
for(int i = 0; i<Original_Names.size(); i++){
filterableString = Original_Names.get(i);
String s = Normalizer.normalize(filterableString, Form.NFD);
// Remove Accents
String withoutAccents =
s.replaceAll("\p{InCombiningDiacriticalMarks}+", "");
if(withoutAccents.toLowerCase().contains(filterString)){
Filtered_Names.add(filterableString);
}
}
这里有一个警告:链接