Most visited

Recently visited

ViewDataBinding

public abstract class ViewDataBinding
extends BaseObservable

java.lang.Object
   ↳ android.databinding.BaseObservable
     ↳ android.databinding.ViewDataBinding


生成的数据绑定类的基类。 如果可能的话,生成的绑定应该使用其生成的静态绑定或膨胀方法之一进行实例化。 如果特定的结合未知,则应使用bind(View)inflate(LayoutInflater, int, ViewGroup, boolean)

Summary

Public methods

void addOnRebindCallback(OnRebindCallback listener)

添加要在重新评估脏字段时调用的侦听器。

void executePendingBindings()

评估待定绑定,更新任何具有绑定到已修改变量的表达式的视图。

View getRoot()

返回与绑定关联的布局文件中最外层的视图。

abstract boolean hasPendingBindings()

返回是否需要刷新UI以表示当前数据。

abstract void invalidateAll()

使所有绑定表达式无效并请求新的重新绑定来刷新UI。

void removeOnRebindCallback(OnRebindCallback listener)

删除在 addOnRebindCallback(OnRebindCallback)中添加的侦听 addOnRebindCallback(OnRebindCallback)

abstract boolean setVariable(int variableId, Object value)

在Binding类中设置一个值的值。

void unbind()

删除表达式变量的绑定侦听器。

Protected methods

void finalize()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。

Inherited methods

From class android.databinding.BaseObservable
From class java.lang.Object
From interface android.databinding.Observable

Public methods

addOnRebindCallback

void addOnRebindCallback (OnRebindCallback listener)

添加要在重新评估脏字段时调用的侦听器。 这也允许自动更新暂停,但不会停止对executePendingBindings()显式调用。

Parameters
listener OnRebindCallback: The listener to add.

executePendingBindings

void executePendingBindings ()

评估待定绑定,更新任何具有绑定到已修改变量的表达式的视图。 必须在UI线程上运行。

getRoot

View getRoot ()

返回与绑定关联的布局文件中最外层的视图。 如果此绑定用于合并布局文件,则这将返回合并标记中的第一个根。

Returns
View the outermost View in the layout file associated with the Binding.

hasPendingBindings

boolean hasPendingBindings ()

返回是否需要刷新UI以表示当前数据。

Returns
boolean true if any field has changed and the binding should be evaluated.

invalidateAll

void invalidateAll ()

使所有绑定表达式无效并请求新的重新绑定来刷新UI。

removeOnRebindCallback

void removeOnRebindCallback (OnRebindCallback listener)

删除在 addOnRebindCallback(OnRebindCallback)中添加的侦听 addOnRebindCallback(OnRebindCallback)

Parameters
listener OnRebindCallback: The listener to remove.

setVariable

boolean setVariable (int variableId, 
                Object value)

在Binding类中设置一个值的值。

通常,开发人员将能够直接调用子类的set方法。 例如,如果绑定中存在变量x ,则会生成一个setX方法。 但是,有时候ViewDataBinding的特定子类是未知的,所以生成的方法不能在没有反射的情况下被发现。 setVariable调用允许设置变量的值而不反映。

Parameters
variableId int: the BR id of the variable to be set. For example, if the variable is x, then variableId will be BR.x.
value Object: The new value of the variable to be set.
Returns
boolean true if the variable is declared or used in the binding or false otherwise.

unbind

void unbind ()

删除表达式变量的绑定侦听器。

Protected methods

finalize

void finalize ()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类重写finalize方法以处置系统资源或执行其他清理。

的常规协定finalize是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize方法可以采取任何行动,包括再制作该对象提供给其他线程; 然而, finalize的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。

Objectfinalize方法Object执行特殊操作; 它只是正常返回。 Object子类可能会覆盖此定义。

Java编程语言不保证哪个线程将为任何给定对象调用finalize方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。

在针对一个对象调用了 finalize方法之后,在Java虚拟机再次确定没有任何方法可以通过尚未死亡的任何线程访问此对象之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。

对于任何给定对象,Java虚拟机永远不会多次调用 finalize方法。

finalize方法抛出的任何异常 finalize导致此对象的终止被暂停,但是会被忽略。

Throws
Throwable

Hooray!