DataBinding(双向绑定)
16lz
2021-01-23
Google官网
配置:
需要在Moudle的build.gradle的android{}里添加
apply plugin: 'com.android.application'apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'android { compileSdkVersion 29 buildToolsVersion "29.0.2" defaultConfig { applicationId "com.example.login" minSdkVersion 21 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } dataBinding { enabled = true }}
数据类
data class Data(val etext:String)
xml
<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"> <data> <variable name="data" type="com.example.login.cart.Data" /> </data> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="500dp"> <TextView android:text="@{data.etext}" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="30dp"/> </LinearLayout></layout>
在Activity的类中声明我们的Binding类
package com.example.login.cartimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport androidx.databinding.DataBindingUtilimport com.example.login.Rimport com.example.login.databinding.ActivityCloseBindingclass CloseActivity : AppCompatActivity() { lateinit var binding:ActivityCloseBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_close) binding = DataBindingUtil.setContentView<ActivityCloseBinding>(this, R.layout.activity_close) binding.data = Data("稍等三秒") Thread(Runnable { Thread.sleep(3000) binding.data = Data("Hello!Kotlin") }).start() }}
效果图
更多相关文章
- Android 视图绑定,找不到类 'ResultProfileBinding'
- Android之ListActivity:布局与数据绑定
- Android应用项目绑定appcom_v7打包时,出现错误:"XXX"isnottransla
- Android Service绑定的时候没有回调onBound函数
- 【Android】Activity与服务Service绑定
- [图解]Android源码分析——Service的启动和绑定过程
- Android:week 13总结 绑定服务、音乐播放器(服务)
- Android 中的数据绑定(1)