Observable 类

定义

此类表示模型视图范例中的可观察对象或“数据”。

[Android.Runtime.Register("java/util/Observable", DoNotGenerateAcw=true)]
public class Observable : Java.Lang.Object
[<Android.Runtime.Register("java/util/Observable", DoNotGenerateAcw=true)>]
type Observable = class
    inherit Object
继承
Observable
派生
属性

注解

此类表示模型视图范例中的可观察对象或“数据”。 它可以进行子类化,表示应用程序希望观察到的对象。

可观测对象可以有一个或多个观察程序。 观察者可以是实现接口 Observer的任何对象。 在可观察实例更改后,调用 Observable方法 notifyObservers 的应用程序会导致其所有观察者通过对其方法的调用 update 通知更改。

通知的传递顺序未指定。 Observable 类中提供的默认实现将按照注册兴趣的顺序通知观察者,但子类可能会更改此顺序,使用无保证顺序,在单独的线程上传递通知,或者可以保证其子类遵循此顺序,因为它们选择。

请注意,此通知机制与线程无关,与类Object的和notify机制完全分离wait

新建可观察对象时,其观察程序集为空。 仅当方法返回 true 时 equals ,才会将两个观察程序视为相同。

在 1.0 中添加。

此成员已弃用。 此类和 Observer 接口已弃用。 事件 Observer 模型受支持且 Observable 相当有限,未指定传递 Observable 的通知顺序,并且状态更改不在与通知的一对一通信中。 对于更丰富的事件模型,请考虑使用 java.beans 包。 对于线程之间的可靠有序消息传送,请考虑在包中使用 java.util.concurrent 其中一个并发数据结构。 有关反应式流样式编程,请参阅 java.util.concurrent.Flow API。

适用于 . 的 java.util.ObservableJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

Observable()

使用零观察程序构造可观测对象。

Observable(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
HasChanged

测试此对象是否已更改。

JniIdentityHashCode

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
JniPeerMembers

此类表示模型视图范例中的可观察对象或“数据”。

PeerReference

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

AddObserver(IObserver)

向此对象的观察程序集添加观察程序,前提是该观察程序与集中已有的观察程序不同。

ClearChanged()

指示此对象已不再更改,或者它已通知其所有观察者最近的更改,以便 hasChanged 该方法现在返回 false

Clone()

创建并返回此对象的副本。

(继承自 Object)
CountObservers()

返回此 Observable 对象的观察程序数。

DeleteObserver(IObserver)

从此对象的观察程序集中删除观察程序。

DeleteObservers()

清除观察程序列表,使此对象不再具有任何观察程序。

Dispose()

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
Dispose(Boolean)

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
NotifyObservers()

如果此对象已更改(如方法指示 hasChanged ),则通知其所有观察程序,然后调用 clearChanged 该方法以指示此对象不再更改。

NotifyObservers(Object)

如果此对象已更改(如方法指示 hasChanged ),则通知其所有观察程序,然后调用 clearChanged 该方法以指示此对象不再更改。

SetChanged()

将此 Observable 对象标记为已更改;该方法 hasChanged 现在将返回 true

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
IJavaPeerable.Finalized()

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

此类表示模型视图范例中的可观察对象或“数据”。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

此类表示模型视图范例中的可观察对象或“数据”。

GetJniTypeName(IJavaPeerable)

此类表示模型视图范例中的可观察对象或“数据”。

适用于