app:imageUrl="@{employee.avatar}" app:placeholder="@{@drawable/ic_launcher_background}"
这两句相当于调用了
DemoBindingAdapter里面的方法
检查xml文件代码是否有问题
不太懂就再看一遍就肯定懂了
如下id正常
1、
<
CheckBox
android:id
=
"@+id/testcheck"
/>
引用的view这样写
<ImageView android:visibility="@{testcheck.checked ? View.VISIBLE : View.INVISIBLE}" />
2、 <CheckBox android:id="@+id/test_check" />
引用的view这样写
<ImageView android:visibility="@{testCheck.checked ? View.VISIBLE : View.INVISIBLE}" />
有人解决了吗
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="@{() -> presenter.onUserLongClick(user,context)}"
android:onFocusChange="@{ (v,fcs) -> presenter.onFocusChange(user)}"
android:text="@{user.name}"/>
使用场景是这样的,假设你的string文件中有有个字符串<string name="welcome">欢迎:%1$s</string>。android:text="@{@string/welcome(model.name)}"等同于getString(R.string.welcome, model.name)
看一下双向绑定的原理,视屏中有讲,getText的返回值是String,并不存在int的text
如果是方法引用的方式,需要所有参数匹配
原理是一样的。你这个调用方法,在内部实际调用的也是视频中的方法。
在配置文件注册intentfilter,通过action启动
在设置android:text时,是可以用Data Binding来格式化其内容的,比如在values文件下的strings.xml的资源文件中有一个<string name="format_test">Hello %s</string>,则在使用时如下:
android:text="@{@string/format_test(some string)}"11
其结果就为Hello +some string
android不一定要用data binding ,
https://github.com/markzhai/DataBindingSample
ViewDataBinding可以理解为ViewModel 承接View和Model通信。Model不与View之间耦合,可以更加灵活
是的啊
可以算是mvvm吧。不过实际中都是使用mvp+DataBinding