Android - RecyclerView notifyDataset не изменил представление макета

У меня есть адаптер для RecyclerView, Адаптер имеет размер свойства, который может быть МАЛЫМ или БОЛЬШИМ.

В зависимости от свойства, макеты, загруженные для виджетов, могут отличаться.

У меня есть кнопка, чтобы изменить это свойство, однако после того, как я его установил, и если я позвоню notifyDataSetChanged() мнения не обновляются.

Я также пытался requestLayout а также invalidate безуспешно. Это, onCreateViewHolder больше никогда не вызывается.

3 ответа

notifyDataSetChanged() вызывает onBindViewHolder() при использовании RecyclerView. Он не вызывает onCreateViewHolder. Вы можете попробовать setAdapter() для вышеуказанной проблемы.

Ну, я понял, потому что раньше onCreateViewHolder, getItemViewType называется.

Если новый вид не установлен, он не будет вызываться. Поэтому мне пришлось создать новый viewType для каждого из небольших представлений и решаемой проблемы:).

Один из способов сделать это, как позвонить

recyclerView.setAdapater(new YourCustomRecylcerViewAdapter(yourProperty, listToUpdate))

всякий раз, когда вы меняете собственность. Это вызовет onCreateViewHolder() адаптера.

Другие вопросы по тегам