在 Kotlin 中,數據綁定允許您將 UI 組件與數據源進行綁定,從而實現自動更新 UI。方法綁定是數據綁定的一種用法,它允許您在 UI 組件上直接調用方法。要實現方法綁定,請按照以下步驟操作:
build.gradle
文件中添加以下代碼:android {
...
dataBinding {
enabled = true
}
}
<layout>
標簽包裹您的根布局,并添加一個名為 <data>
的子標簽。在 <data>
標簽中,定義要綁定的變量和方法。例如:<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewModel"
type="com.example.yourapp.YourViewModel" />
</data>
<!-- Your root layout here -->
</layout>
Activity
或 Fragment
中,將您的 ViewModel 賦值給布局中的變量。例如:class YourActivity : AppCompatActivity() {
private lateinit var viewModel: YourViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.your_layout)
viewModel = ViewModelProvider(this).get(YourViewModel::class.java)
val binding: YourLayoutBinding = DataBindingUtil.setContentView(this, R.layout.your_layout)
binding.viewModel = viewModel
}
}
<layout>
標簽中的變量名調用方法。例如,如果您有一個名為 doSomething
的方法,可以在布局文件中使用 android:onClick
屬性調用它:<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do something"
android:onClick="@{viewModel::doSomething}" />
現在,當用戶點擊按鈕時,將調用 ViewModel 中的 doSomething
方法。數據綁定將自動處理從 ViewModel 到 UI 組件的數據傳遞和更新。