Custom Fitler android

290
15 января 2017, 15:38

Мне необходимо отфильтровать данные в зависимости от вводимых значений в EditText. Ниже код фильтра который уже написан но работает он не совсем корректно

Собственно InfectionModel

public class InfectionModel implements Serializable {
    private String id;
    private String content;
    private String title;
    private String prew;
    private String date;
    private String url_img;
}

И вот так у меня он хранится:

 private ArrayList<InfectionModel> im = ArrayList<InfectionModel>

Написал свой фильтр

  public Filter getFilter() {
    return new Filter() {
        @Override
        protected void publishResults(CharSequence constraint, FilterResults results) {
            if (results.count == 0) {
                notifyDataSetInvalidated();
            }else{
                im = (ArrayList<InfectionModel>) results.values;
                notifyDataSetChanged();
            }
        }
        @Override
        protected FilterResults performFiltering(CharSequence constraint) {
            // TODO Auto-generated method stub
            FilterResults results = new FilterResults();
            if (constraint == null || constraint.length() == 0) {
                results.values = im;
                results.count = im.size();
            }else{
                ArrayList<InfectionModel> filter_items = new ArrayList<InfectionModel>();
                for (InfectionModel item : im) {
                    if (item.getTitle().toLowerCase().startsWith(constraint.toString().toLowerCase())) {
                        filter_items.add(item);
                    }
                }
                results.values =  filter_items ;
                results.count = filter_items.size();
            }
            return results;
        }
    };
}

Вот только когда символы стираются - элементы перестают фильтроваться

READ ALSO
лишний символ при чтении из файла в set

лишний символ при чтении из файла в set

Яву учу первый месяц урывками, хочу разобратьсяЭто часть моего тестового задания чтобы поступить курсы по java

329
Java. Зеркальное отображение изображения

Java. Зеркальное отображение изображения

JFrame содержит две JPanelНеобходимо нарисовать овалы в левой панели, при чем то, что рисуется должно отображаться в правой панели

375
Как получить int 0000023?

Как получить int 0000023?

У меня есть задание нужно сделать метод который будет принимать значение и возвращать int

299