我有一个ViewHolder,它看起来像这样:
class ViewHolder(
itemView: View,
var mSettingsRadioButton: RadioButton = itemView.findViewById(...),
var mSettingsCheckBox: CheckBox = itemView.findViewById(...),
var mSettingsChevron: Icon = itemView.findViewById(...)
) : RecyclerView.ViewHolder(itemView)
这个想法是使其他两个不可见时,其中之一是活动的,即如果一个复选框是活动的,V形和单选按钮应该是不可见的。
现在我正在使用3个函数来实现这个目的,如下所示:
fun setCheckbox(viewHolder: ViewHolder) {
viewHolder.apply {
mSettingsChevron.visibility = GONE
mSettingsRadioButton.visibility = GONE
mSettingsCheckBox.let {
it.visibility = VISIBLE
it.isChecked = false
}
}
}
虽然这种方法的作品,我有3个功能,实际上是做同样的事情。我正在寻找更清洁和优化的方式来编写这个功能。任何建议都非常感谢。谢谢!
1条答案
按热度按时间nkoocmlb1#
如果你只想使用一个函数,你可以,它会删除冗余代码,所以你会实现干原则。
现在你只需调用
setVisibility