Android:仅搜索精确匹配的过滤器

Android:仅搜索精确匹配的过滤器,android,listview,search,filter,Android,Listview,Search,Filter,我正在尝试为我的列表视图表设置一个搜索过滤器,它只返回完全匹配的结果。我设置了一个链接到我的表格布局的过滤器,如下所示: 私有类RowFilter扩展了筛选器{ @凌驾 受保护的筛选器结果PerformFilteringCharsSequence约束{ FilterResults结果=新的FilterResults; ifconstraint==null | | constraint.length==0{ 结果值=数据; results.count=data.size; } 否则{ Array

我正在尝试为我的列表视图表设置一个搜索过滤器,它只返回完全匹配的结果。我设置了一个链接到我的表格布局的过滤器,如下所示:

私有类RowFilter扩展了筛选器{ @凌驾 受保护的筛选器结果PerformFilteringCharsSequence约束{ FilterResults结果=新的FilterResults; ifconstraint==null | | constraint.length==0{ 结果值=数据; results.count=data.size; } 否则{ ArrayList filterData=新的ArrayList; 对于行r:数据{ ifr.gettenance.toUpperCase.StartWithConstraint.toString.toUpperCase{ filterData.addr; results.values=过滤数据; results.count=filterData.size; }else ifr.getAddress.toUpperCase.StartWithConstraint.toString.toUpperCase{ filterData.addr; }else ifr.getLocation.toUpperCase.StartWithConstraint.toString.toUpperCase{ filterData.addr; }else ifr.getName.toUpperCase.StartWithConstraint.toString.toUpperCase{ filterData.addr; } } 结果:值=过滤数据; results.count=filterData.size; } 返回结果; } @凌驾 受保护的void publishResultCharsSequence约束, FilterResults结果{ ifresults.count==0{ 验证数据集; }else{ifresults.count==1{} 数据=ArrayList results.values; 改变数据; } } }
}如果您需要更多代码,请告诉我,我会尽快发布。谢谢你们!!我认为您必须使用String.equalsIgnoreCaseconstraint而不是startswith