繁体   English   中英

如何检测可能的根视图绑定布局是什么

[英]how do I detect what may root view binding layout is

我正在构建一个 android 活动,它使用视图绑定和 Kotlin 在三种不同的布局之间变化。 每个布局都有自己的绑定 object。 如何从 Kotlin 代码中检测正在显示的布局?

''' class MainActivity: AppCompatActivity() {

lateinit var constrainBinding: ActivityMainBinding // constrain layout
lateinit var linearBinding: MainMenuBinding // linear layout
lateinit var tableBinding: TableLayoutBinding // table layout

var linearLayout = true

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

    constrainBinding = ActivityMainBinding.inflate(layoutInflater)
    linearBinding = MainMenuBinding.inflate(layoutInflater)
    tableBinding = TableLayoutBinding.inflate(layoutInflater)
    setContentView(linearBinding.root)

    linearBinding.btConstrain.setOnClickListener { loadConstraintLayout() }
    linearBinding.btTable.setOnClickListener { loadTableLayout() }

    constrainBinding.tvBack.setOnClickListener { loadLinearLayout() }
}'''

如果你想使用这三个布局而不是三个片段,你可以添加一个 var 到当前的 Binding:

    lateinit var currentBinding: ViewBinding

    private fun loadLinearLayout() {
        currentBinding = linearBinding
    }

    private fun loadTableLayout() {
        currentBinding = tableBinding
    }

    private fun loadConstraintLayout() {
        currentBinding = constrainBinding
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM