Android数据绑定支持最酷的功能之一是它还为View设置了ID字段。这样可以整理代码库,因为不需要字段或findViewById()
调用。
但问题是绑定实例只能通过调用绑定的bind()
调用来检索。 <= 1}}通常异步接收数据时这很糟糕。
是否可以检索带有View字段的绑定实例减去实际的数据绑定过程?
栈跟踪:
NullPointerException
答案 0 :(得分:3)
这似乎没有意义,数据绑定将忽略空变量,因此不应抛出空指针,也就是说,我相信,它是其最受推崇的功能之一。如果您需要在异步调用等之后修改变量,则可以使用dataBinding.executePendingBindings()
来自the docs
生成的绑定类将为每个描述的变量设置setter和getter。变量将采用默认的Java值,直到调用setter - 引用类型为null,int为0,boolean为false等。
和
生成的数据绑定代码会自动检查空值并避免空指针异常。例如,在表达式@ {user.name}中,如果user为null,则将为user.name分配其默认值(null)。如果您引用的是user.age,其中age是一个int,那么它将默认为0。
答案 1 :(得分:0)
使用java.lang.Boolean
遇到了相同的问题。通过使用原始的boolean
类型来解决。
<variable
name="var"
type="boolean" />