mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-20 01:08:29 +00:00
Fix radio button selection transition (#1209)
This commit is contained in:
parent
95a165aa05
commit
945df19aef
@ -42,6 +42,7 @@ class ClearAllDataDialog : BaseDialog() {
|
|||||||
var selectedOption = device
|
var selectedOption = device
|
||||||
val optionAdapter = RadioOptionAdapter { selectedOption = it }
|
val optionAdapter = RadioOptionAdapter { selectedOption = it }
|
||||||
binding.recyclerView.apply {
|
binding.recyclerView.apply {
|
||||||
|
itemAnimator = null
|
||||||
adapter = optionAdapter
|
adapter = optionAdapter
|
||||||
addItemDecoration(DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL))
|
addItemDecoration(DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL))
|
||||||
setHasFixedSize(true)
|
setHasFixedSize(true)
|
||||||
|
@ -16,8 +16,8 @@ class RadioOptionAdapter(
|
|||||||
) : ListAdapter<RadioOption, RadioOptionAdapter.ViewHolder>(RadioOptionDiffer()) {
|
) : ListAdapter<RadioOption, RadioOptionAdapter.ViewHolder>(RadioOptionDiffer()) {
|
||||||
|
|
||||||
class RadioOptionDiffer: DiffUtil.ItemCallback<RadioOption>() {
|
class RadioOptionDiffer: DiffUtil.ItemCallback<RadioOption>() {
|
||||||
override fun areItemsTheSame(oldItem: RadioOption, newItem: RadioOption) = oldItem === newItem
|
override fun areItemsTheSame(oldItem: RadioOption, newItem: RadioOption) = oldItem.title == newItem.title
|
||||||
override fun areContentsTheSame(oldItem: RadioOption, newItem: RadioOption) = oldItem == newItem
|
override fun areContentsTheSame(oldItem: RadioOption, newItem: RadioOption) = oldItem.value == newItem.value
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
||||||
@ -31,7 +31,7 @@ class RadioOptionAdapter(
|
|||||||
holder.bind(option, isSelected) {
|
holder.bind(option, isSelected) {
|
||||||
onClickListener(it)
|
onClickListener(it)
|
||||||
selectedOptionPosition = position
|
selectedOptionPosition = position
|
||||||
notifyDataSetChanged()
|
notifyItemRangeChanged(0, itemCount)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user