Android include布局文件传递viewModel

📚 Data Binding: <include> 传递 ViewModel 笔记 核心原理 在 Android Data Binding 中,ViewModel 的传递是通过 <include> 标签上的 bind: 属性实现的一种显式赋值机制。 父布局中声明的变量不会自动传递给子布局。 要传递,必须在 <include> 标签中指明:bind:【子布局变量名】="@{【父布局变量实例】}"。 ViewModel 的生命周期和响应式更新(ObservableField / LiveData)由父布局设置的 lifecycleOwner 统一管理。 MVVM中的<include>布局复用:viewModel传递 - 简书 1. ViewModel (数据源) 假设我们需要一个包含布尔状态的 ViewModel。 // MyComponentViewModel.kt import androidx.lifecycle.ViewModel import androidx.databinding.ObservableField class MyComponentViewModel : ViewModel() { // 示例:需要被子布局观察和操作的状态 val isToggled = ObservableField(false) fun toggle() { isToggled.set(!isToggled.get()) } } 2. 子布局 (layout_reusable_component.xml) 子布局必须使用 <data> 块声明一个 <variable> 作为接口来接收 ViewModel。 ...

2025年09月26日