Как добавить интервалы только между элементами в RecyclerView? - PullRequest
0 голосов
/ 06 апреля 2020

Как следует из названия, я хочу только интервал между элементами. Не перед первым пунктом или после последнего. Я попытался использовать заполнение и программное удаление отступов по методу onBindViewHolder моего адаптера из первого и последнего элемента.

if (position == 0)
    holder.itemView.setPadding(0, 0, holder.itemView.getPaddingRight(), 0);
else if (position == getItemCount() - 1)
    holder.itemView.setPadding(holder.itemView.getPaddingLeft(), 0, 0, 0);

Но когда я добавляю или удаляю элементы, позиции первого и последнего элементов могут измениться , Поскольку они не привязываются к виду, их отступы остаются прежними. Например, у меня есть такой список: 1* *2* *3. Я удаляю 3: 1* *2* и вставляю 4, 5: 1* *2* *4 *5 (* обозначает заполнение). Надеюсь, я объяснил это ясно.

Я также попытался ItemDecoration s, но не смог найти динамический c способ удалить украшение последнего элемента, так как я использую динамический c список.

1 Ответ

0 голосов
/ 06 апреля 2020

Вы можете сделать это в своем адаптере:

  if(position == 0 || position == numlist.size()-1){

       // I assume the list name is numlist

         holder.asterisk.setVisibility(View.GONE);

      // I assume the item name is asterisk                                          

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...