MVVM模式引入双向绑定。
首先,看一看MVVM的模式的图示。
{
fun onClick():Unit{
println("测试")
}
}
class MainActivity :Activity() {
var mBinding :MainActivityBinding? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
//创建对象数据
val user1:User = User("刘一雷", 21)
//绑定对应的视图
mBinding = DataBindingUtil.setContentView<MainActivityBinding>(this, R.layout.main_activity)
//赋值
mBinding!!.vm = user1
}
}
- 页面代码如下:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<data>
<variable
name="vm"
type="com.example.my_view.User" />
</data>
<!--加入文本和触摸触发事件-->
<TextView
android:id="@+id/text5"
android:layout_width="match_parent"
android:layout_height="80dp"
android:text="@{vm.name}"
android:gravity="center"
android:onClick="@{()->vm.onClick()}"
/>
</layout>
版权声明:本文为weixin_42514162原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。