android - Android BottomSheet 和动态内容
问题描述
我有一个底部工作表,我可以在其中动态地将我希望它显示的布局的布局 ID 传递给它。这很好用!问题在于,对我来说,将我想要的侦听器分配给该布局的每个 UI 元素有点麻烦。
我还可以通过分配一个 pre-infalted 视图,将所有侦听器分配给底部表的成员,这也可以。
我想知道是否为此建立了最佳实践,或者方法中的任何优点/缺点!
谢谢!
解决方案
如果我理解正确,您可以在ViewGroup
Inflated 上定义一个循环并让每个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
}
}
推荐阅读
- c++ - 尝试使用 mysql++ 库进行编译时,不推荐使用类 std::auto_ptr'
- node.js - 如何在同一个应用中调用多个passport-jwt策略
- ios - 禁用 AVSpeechSyntesizer/AVSpeechUtterance 的自动日期检测
- html - CSS正在以不同的方式定位具有相同类的两个元素
- sql - Sybase STR 函数将零更改为九
- amazon-web-services - eks 集群 - 添加工作节点 - 应用 configmap 如何使我的节点对 k8s 集群可见?
- phpunit - 无法覆盖phpunit报告到html
- amazon-web-services - 为什么将 VPC 与 AWS Lambda 或 AWS DynamoDB 结合使用?
- json - 是否可以从 JSON 文件生成 Avro schma?
- node.js - 如何防止每次登录都更新我的令牌?