если я сделаю l oop в onbindView класса адаптера android - PullRequest
0 голосов
/ 26 марта 2020
  @Override
    public void onBindViewHolder(CustomViewHolder holder, int position) {

        Chapter chapter = chapters.get(position);
        String toDay = chapter.chapterName + "  " + chapter.month + "  " + chapter.year;

if (arr!=null) {
    for (String s : arr) {
        if (toDay.equals(s)) {
            holder.linear.setBackgroundResource(R.drawable.subscripti);
        }
    }
}

если я сделаю l oop в onbindView класса адаптера, то l oop будет реагировать каждый раз при печати при попытке прокрутки schoing, а прокрутка в просмотрнике не сглаживается android

1 Ответ

0 голосов
/ 26 марта 2020

Временная сложность массива равна O (n), а HashSet равен O (1), поэтому в этом сценарии лучше использовать HashSet. Вы можете сделать что-то вроде этого: 1- Добавьте все дни в HashSet:

Set<String> days = new HashSet<>();
days.add("12 january 2019");
days.add("14 january 2019");

2- Затем вставьте его в свой addapter и проверьте, содержит ли этот Hashset текущий день или нет

if(days.contains(today)){
   // Do what you want     
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...