Это должно работать, если вы помещаете notifyDataSetChanged в свой адаптер каждый раз, когда ваш список фильтруется.Вот пример одного из моих проектов, где я фильтрую список на основе запроса searchview, и каждый раз, когда список обновляется, я вызываю notifyDataSetChanged () в адаптере
@Override
protected void publishResults(CharSequence charSequence, FilterResults filterResults) {
if (!listFiltered.isEmpty()) {
listItems = (ArrayList<ListaConsultaFamilia>) filterResults.values;
notifyDataSetChanged();
}
}