跳转至

切换模式

BRV提供一个切换事件的触发和监听, 相当于会提供一个回调函数遍历所有的列表条目, 你可以在这个回调里面依次更新数据或者视图.


这个切换可以理解为遍历列表条目


一般用于切换列表的编辑模式


示例

override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)

    rv.linear().setup {
        addType<CheckModel>(R.layout.item_check_mode)

        // 监听切换事件
        onToggle { position, toggleMode, end ->
            if (end) {
                // 显示和隐藏编辑菜单
                ll_menu.visibility = if (toggleMode) View.VISIBLE else View.GONE
            }
        }
    }.models = getData()
}

fun onClick(v:View){
    rv.bindingAdapter.toggle() // 点击事件触发切换事件
}

函数

fun toggle()
// 触发切换模式(根据当前状态取反)

fun getToggleMode(): Boolean
// 范围当前出何种切换模式

fun setToggleMode(toggleMode: Boolean)
// 设置切换模式, 如果设置的是当前正处于的模式不会触发回调

fun onToggle(block: (position: Int, toggleModel: Boolean, end: Boolean) -> Unit)
// 监听切换事件, 在事件中你可以处理任何视图的数据或者视图修改
// position: 遍历过程中的列表条目索引
// toggleModel: 切换模式(布尔值)
// end: 是否全部遍历完成