首页 > 解决方案 > Android BottomSheet 和动态内容

问题描述

我有一个底部工作表,我可以在其中动态地将我希望它显示的布局的布局 ID 传递给它。这很好用!问题在于,对我来说,将我想要的侦听器分配给该布局的每个 UI 元素有点麻烦。

我还可以通过分配一个 pre-infalted 视图,将所有侦听器分配给底部表的成员,这也可以。

我想知道是否为此建立了最佳实践,或者方法中的任何优点/缺点!

谢谢!

标签: androidbottom-sheet

解决方案


如果我理解正确,您可以在ViewGroupInflated 上定义一个循环并让每个View最终定义一个onClickListener并将其设置在视图上


override fun onViewInflated() {

        viewGroupInflated?.forEach {
            it?.setOnClickListener(onClickListener)
        }
    }


private val onClickListener = View.OnClickListener {
    when(it.id){
        R.id.btn_a -> //Todo an action
        R.id.btn_b -> //Todo an action
    }
}

推荐阅读