# ObservableField

Summary:[Ctors](https://developer.android.com/reference/android/databinding/ObservableField#pubctors)\|[Methods](https://developer.android.com/reference/android/databinding/ObservableField#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/databinding/ObservableField#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/databinding/ObservableField#)  

# ObservableField

`
public


class
ObservableField
`  
`


``

extends `[BaseObservable](https://developer.android.com/reference/android/databinding/BaseObservable)`


``


implements

`[Serializable](http://developer.android.com/reference/java/io/Serializable.html)`


`

|---|---|------------------------------------------|
| [java.lang.Object](http://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [android.databinding.BaseObservable](https://developer.android.com/reference/android/databinding/BaseObservable) ||
|   | ↳ | android.databinding.ObservableField\<T\> |

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/databinding/ObservableField#)Known Direct Subclasses [ObservableParcelable](https://developer.android.com/reference/android/databinding/ObservableParcelable)\<T extends[Parcelable](http://developer.android.com/reference/android/os/Parcelable.html)\> |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------| | [ObservableParcelable](https://developer.android.com/reference/android/databinding/ObservableParcelable)\<T extends[Parcelable](http://developer.android.com/reference/android/os/Parcelable.html)\> | An observable class that holds a parcelable object. | |

<br />

*** ** * ** ***

An object wrapper to make it observable.

Observable field classes may be used instead of creating an Observable object. It can also create a calculated field, depending on other fields:  

    public class MyDataObject {
         private Context context;
         public final ObservableField<String> first = new ObservableField<String>();
         public final ObservableField<String> last = new ObservableField<String>();
         public final ObservableField<String> display =
             new ObservableField<String>(first, last) {
                 @Override
                 public String get() {
                     return context.getResources().getString(R.string.name, first.get, last.get());
                 }
             };
         public final ObservableInt age = new ObservableInt();
     }

Fields of this type should be declared final because bindings only detect changes in the field's value, not of the field itself.

<br />

**See also:**

- [ObservableParcelable](https://developer.android.com/reference/android/databinding/ObservableParcelable)

## Summary

|                                                                                                                                                   ### Public constructors                                                                                                                                                    ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[ObservableField](https://developer.android.com/reference/android/databinding/ObservableField#ObservableField(T))`(T value) ` Wraps the given object and creates an observable object                                                                                                                                  |
| ` `[ObservableField](https://developer.android.com/reference/android/databinding/ObservableField#ObservableField())`() ` Creates an empty observable object                                                                                                                                                               |
| ` `[ObservableField](https://developer.android.com/reference/android/databinding/ObservableField#ObservableField(android.databinding.Observable...))`(`[Observable...](https://developer.android.com/reference/android/databinding/Observable)` dependencies) ` Creates an ObservableField that depends on`dependencies`. |

|                                                           ### Public methods                                                            ||
|---------|--------------------------------------------------------------------------------------------------------------------------------|
| ` T`    | ` `[get](https://developer.android.com/reference/android/databinding/ObservableField#get())`() `                               |
| ` void` | ` `[set](https://developer.android.com/reference/android/databinding/ObservableField#set(T))`(T value) ` Set the stored value. |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/databinding/ObservableField#)From class` `[android.databinding.BaseObservable](https://developer.android.com/reference/android/databinding/BaseObservable)` ` |---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` void` | ` `[addOnPropertyChangedCallback](https://developer.android.com/reference/android/databinding/BaseObservable#addOnPropertyChangedCallback(android.databinding.Observable.OnPropertyChangedCallback))`(`[Observable.OnPropertyChangedCallback](https://developer.android.com/reference/android/databinding/Observable.OnPropertyChangedCallback)` callback) ` Adds a callback to listen for changes to the Observable.   | | ` void` | ` `[notifyChange](https://developer.android.com/reference/android/databinding/BaseObservable#notifyChange())`() ` Notifies listeners that all properties of this instance have changed.                                                                                                                                                                                                                                 | | ` void` | ` `[notifyPropertyChanged](https://developer.android.com/reference/android/databinding/BaseObservable#notifyPropertyChanged(int))`(int fieldId) ` Notifies listeners that a specific property has changed.                                                                                                                                                                                                              | | ` void` | ` `[removeOnPropertyChangedCallback](https://developer.android.com/reference/android/databinding/BaseObservable#removeOnPropertyChangedCallback(android.databinding.Observable.OnPropertyChangedCallback))`(`[Observable.OnPropertyChangedCallback](https://developer.android.com/reference/android/databinding/Observable.OnPropertyChangedCallback)` callback) ` Removes a callback from those listening for changes. | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/databinding/ObservableField#)From class` `[java.lang.Object](http://developer.android.com/reference/java/lang/Object.html)` ` |------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------| | ` `[Object](http://developer.android.com/reference/java/lang/Object.html)          | ` clone() `                                                                               | | ` boolean`                                                                         | ` equals(`[Object](http://developer.android.com/reference/java/lang/Object.html)` arg0) ` | | ` void`                                                                            | ` finalize() `                                                                            | | ` final `[Class](http://developer.android.com/reference/java/lang/Class.html)`<?>` | ` getClass() `                                                                            | | ` int`                                                                             | ` hashCode() `                                                                            | | ` final void`                                                                      | ` notify() `                                                                              | | ` final void`                                                                      | ` notifyAll() `                                                                           | | ` `[String](http://developer.android.com/reference/java/lang/String.html)          | ` toString() `                                                                            | | ` final void`                                                                      | ` wait(long arg0, int arg1) `                                                             | | ` final void`                                                                      | ` wait(long arg0) `                                                                       | | ` final void`                                                                      | ` wait() `                                                                                | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/databinding/ObservableField#)From interface` `[android.databinding.Observable](https://developer.android.com/reference/android/databinding/Observable)` ` |------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract void` | ` `[addOnPropertyChangedCallback](https://developer.android.com/reference/android/databinding/Observable#addOnPropertyChangedCallback(android.databinding.Observable.OnPropertyChangedCallback))`(`[Observable.OnPropertyChangedCallback](https://developer.android.com/reference/android/databinding/Observable.OnPropertyChangedCallback)` callback) ` Adds a callback to listen for changes to the Observable.   | | ` abstract void` | ` `[removeOnPropertyChangedCallback](https://developer.android.com/reference/android/databinding/Observable#removeOnPropertyChangedCallback(android.databinding.Observable.OnPropertyChangedCallback))`(`[Observable.OnPropertyChangedCallback](https://developer.android.com/reference/android/databinding/Observable.OnPropertyChangedCallback)` callback) ` Removes a callback from those listening for changes. | ||

## Public constructors

### ObservableField

```
ObservableField (T value)
```

Wraps the given object and creates an observable object

<br />

|                           Parameters                           ||
|---------|-------------------------------------------------------|
| `value` | `T`: The value to be wrapped as an observable. <br /> |

### ObservableField

```
ObservableField ()
```

Creates an empty observable object

<br />

### ObservableField

```
ObservableField (Observable... dependencies)
```

Creates an ObservableField that depends on`dependencies`. Typically, ObservableFields are passed as dependencies. When any dependency notifies changes, this ObservableField also notifies a change.

<br />

|                                         Parameters                                         ||
|----------------|----------------------------------------------------------------------------|
| `dependencies` | `Observable`: The Observables that this ObservableField depends on. <br /> |

## Public methods

### get

```
T get ()
```

<br />

<br />

|            Returns            ||
|-----|--------------------------|
| `T` | the stored value. <br /> |

### set

```
void set (T value)
```

Set the stored value.

<br />

|             Parameters             ||
|---------|---------------------------|
| `value` | `T`: The new value <br /> |

-

  ## Annotations

  - [Bindable](https://developer.android.com/reference/android/databinding/Bindable)
  - [BindingAdapter](https://developer.android.com/reference/android/databinding/BindingAdapter)
  - [BindingConversion](https://developer.android.com/reference/android/databinding/BindingConversion)
  - [BindingMethod](https://developer.android.com/reference/android/databinding/BindingMethod)
  - [BindingMethods](https://developer.android.com/reference/android/databinding/BindingMethods)
  - [InverseBindingAdapter](https://developer.android.com/reference/android/databinding/InverseBindingAdapter)
  - [InverseBindingMethod](https://developer.android.com/reference/android/databinding/InverseBindingMethod)
  - [InverseBindingMethods](https://developer.android.com/reference/android/databinding/InverseBindingMethods)
  - [InverseMethod](https://developer.android.com/reference/android/databinding/InverseMethod)
-

  ## Interfaces

  - [DataBindingComponent](https://developer.android.com/reference/android/databinding/DataBindingComponent)
  - [InverseBindingListener](https://developer.android.com/reference/android/databinding/InverseBindingListener)
  - [Observable](https://developer.android.com/reference/android/databinding/Observable)
  - [ObservableList](https://developer.android.com/reference/android/databinding/ObservableList)
  - [ObservableMap](https://developer.android.com/reference/android/databinding/ObservableMap)
-

  ## Classes

  - [BaseObservable](https://developer.android.com/reference/android/databinding/BaseObservable)
  - [CallbackRegistry](https://developer.android.com/reference/android/databinding/CallbackRegistry)
  - [CallbackRegistry.NotifierCallback](https://developer.android.com/reference/android/databinding/CallbackRegistry.NotifierCallback)
  - [DataBindingUtil](https://developer.android.com/reference/android/databinding/DataBindingUtil)
  - [ListChangeRegistry](https://developer.android.com/reference/android/databinding/ListChangeRegistry)
  - [MapChangeRegistry](https://developer.android.com/reference/android/databinding/MapChangeRegistry)
  - [MergedDataBinderMapper](https://developer.android.com/reference/android/databinding/MergedDataBinderMapper)
  - [Observable.OnPropertyChangedCallback](https://developer.android.com/reference/android/databinding/Observable.OnPropertyChangedCallback)
  - [ObservableArrayList](https://developer.android.com/reference/android/databinding/ObservableArrayList)
  - [ObservableArrayMap](https://developer.android.com/reference/android/databinding/ObservableArrayMap)
  - [ObservableBoolean](https://developer.android.com/reference/android/databinding/ObservableBoolean)
  - [ObservableByte](https://developer.android.com/reference/android/databinding/ObservableByte)
  - [ObservableChar](https://developer.android.com/reference/android/databinding/ObservableChar)
  - [ObservableDouble](https://developer.android.com/reference/android/databinding/ObservableDouble)
  - [ObservableField](https://developer.android.com/reference/android/databinding/ObservableField)
  - [ObservableFloat](https://developer.android.com/reference/android/databinding/ObservableFloat)
  - [ObservableInt](https://developer.android.com/reference/android/databinding/ObservableInt)
  - [ObservableList.OnListChangedCallback](https://developer.android.com/reference/android/databinding/ObservableList.OnListChangedCallback)
  - [ObservableLong](https://developer.android.com/reference/android/databinding/ObservableLong)
  - [ObservableMap.OnMapChangedCallback](https://developer.android.com/reference/android/databinding/ObservableMap.OnMapChangedCallback)
  - [ObservableParcelable](https://developer.android.com/reference/android/databinding/ObservableParcelable)
  - [ObservableShort](https://developer.android.com/reference/android/databinding/ObservableShort)
  - [OnRebindCallback](https://developer.android.com/reference/android/databinding/OnRebindCallback)
  - [PropertyChangeRegistry](https://developer.android.com/reference/android/databinding/PropertyChangeRegistry)
  - [ViewDataBinding](https://developer.android.com/reference/android/databinding/ViewDataBinding)
  - [ViewStubProxy](https://developer.android.com/reference/android/databinding/ViewStubProxy)