美文网首页Android-DataBinding
DataBinding(11)-ViewStub的处理方式

DataBinding(11)-ViewStub的处理方式

作者: 代码多哥 | 来源:发表于2023-08-27 22:15 被阅读0次

与普通视图不同,ViewStub开始是不可见的。当它们可见或显式inflate时,它们会inflate另一个布局来替换布局中的自身。
由于ViewStub会从视图层次结构中消失,Binding对象中的View也必然消失,以便垃圾回收对其进行回收。因为Binding类中的View都是final的,因此不能修改,所以再生成的Binding类中,框架将会创建一个ViewStubProxy对象来代理ViewStub,当在ViewStub存在时可以通过这个proxy去访问它,而在ViewStub infalte之后,通过proxy可以去访问infalte的视图层次结构。
当infalte另一个布局时,必须为新布局建立绑定。因此,ViewStubProxy必须侦听ViewStub OnInflateListener,并在需要时建立绑定。由于一次只能存在一个监听器,ViewStubProxy允许您设置一个OnInflateListener,建立绑定之后就会调用该监听器。

相关文章

网友评论

    本文标题:DataBinding(11)-ViewStub的处理方式

    本文链接:https://www.haomeiwen.com/subject/dbnwmdtx.html