我试图了解Android数据绑定。
我注意到,相互检测值存在问题,因此我经常需要invalidate/restart
和clean project
。因此,我认为我需要找出解决方案并解决我的好奇心。
我发现,如果我将布局文件设置为如下所示的数据绑定格式,那么这两个项目都是在构建项目时创建的(我猜是编译时吗?)
<layout>
<data>
</data>
<LinearLayout>
</LinearLayout>
</layout>
此外,XxxBindingImpl
像这样继承XxxBinding
:
public class ActivityMainBindingImpl extends ActivityMainBinding {
// TODO
}
如果我在布局中设置了一些method expression
或listener expression
,则该类将如下所示:
public class ActivityMainBindingImpl extends ActivityMainBinding implements com.example.myapp.generated.callback.OnClickListener.Listener
{
// TODO
}
这两种类位于com/example/myapp/databinding
中。
我想知道两者的作用。以及如何/为什么/何时制造。两者之间的差异。