Решил сделать в списке групировку по датам, что то подобное такому:
27 february
item1
item2
26 february
item1
Возникла проблема в составлении условия по которому дата должна быть добалена в список. Код getItemViewType
:
var previousDate = ""
override fun getItemViewType(position: Int): Int {
val currentDate = batteryStories[position].date.toFormatDate(DATE_FORMAT)
if(currentDate != previousDate){
previousDate = currentDate
return HEADER_VIEW_INDEX
}
return BODY_VIEW_INDEX
}
Данное пробное решение работает только при первичной прогрузке списка и прокрутка проводит к хаосу. В результате нескольких прокруток выходит нечто такое (дата выводиться при первом появлении уникальной даты в списке):
item1
item2
27 february
item1
26 february
Даже при удачном результате мне кажется сравнение строк это не лучший вариант. Как лучше реализовать подобное?
Что бы не было хаоса при прокрутке, нужно в onBindViewHolder()
обязательно добавлять вначале явное указание состояния вьюхи (например: myViewHolder.tvDate.setVisibility(View.INVISIBLE))
, а дальше уже ставить ей видимость при необходимости. Дело в том что контейнеры в RecyclerView переиспользуются и мы получаем такую вот интересную ситуацию.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Мне нужно закрывать listening порт(например, 12000, который создается java методом serversocketaccept) в определённый момент(неизвестно когда он наступит)
Вызов данного контроллера выдает ошибку:
Запускаю этот проект через Tomcat https://githubcom/CaymanJava/online_banking
Сейчас я использую вот такой методМожет есть более хорошие методы?