# ObservableParcelable

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

# ObservableParcelable

`
public


class
ObservableParcelable
`  
`


``


``

extends `[ObservableField](https://developer.android.com/reference/android/databinding/ObservableField)`<T extends `[Parcelable](http://developer.android.com/reference/android/os/Parcelable.html)`>


``


implements

`[Parcelable](http://developer.android.com/reference/android/os/Parcelable.html)`,

`[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](https://developer.android.com/reference/android/databinding/ObservableField)\<T extends[android.os.Parcelable](http://developer.android.com/reference/android/os/Parcelable.html)\> ||
|   |   | ↳ | android.databinding.ObservableParcelable\<T extends[android.os.Parcelable](http://developer.android.com/reference/android/os/Parcelable.html)\> |

<br />

*** ** * ** ***

An observable class that holds a parcelable object.

Observable field classes may be used instead of creating an Observable object:  

    public class MyDataObject {
         public final ObservableParcelable<String> name = new ObservableParcelable<String>();
         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.

This class is parcelable but you should keep in mind that listeners are ignored when the object is parcelled. Unless you add custom observers, this should not be an issue because data binding framework always re-registers observers when the view is bound.

## Summary

|                                                                                                                                                                         ### Inherited constants                                                                                                                                                                         |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/databinding/ObservableParcelable#)From interface` android.os.Parcelable ` |-------|----------------------------------------| | `int` | `CONTENTS_FILE_DESCRIPTOR` <br />      | | `int` | `PARCELABLE_WRITE_RETURN_VALUE` <br /> | |

|                                                                                                                                                              ### Fields                                                                                                                                                               ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
| ` public static final `[Creator](http://developer.android.com/reference/android/os/Parcelable.Creator.html)`<`[ObservableParcelable](https://developer.android.com/reference/android/databinding/ObservableParcelable)`>` | [CREATOR](https://developer.android.com/reference/android/databinding/ObservableParcelable#CREATOR) <br /> |

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

|                                                                                                                ### Public methods                                                                                                                 ||
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` int`  | ` `[describeContents](https://developer.android.com/reference/android/databinding/ObservableParcelable#describeContents())`() `                                                                                                          |
| ` void` | ` `[writeToParcel](https://developer.android.com/reference/android/databinding/ObservableParcelable#writeToParcel(android.os.Parcel, int))`(`[Parcel](http://developer.android.com/reference/android/os/Parcel.html)` dest, int flags) ` |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/databinding/ObservableParcelable#)From class` `[android.databinding.ObservableField](https://developer.android.com/reference/android/databinding/ObservableField)` ` |---------|--------------------------------------------------------------------------------------------------------------------------------| | ` 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. | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/databinding/ObservableParcelable#)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/ObservableParcelable#)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/ObservableParcelable#)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. | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/databinding/ObservableParcelable#)From interface` `[android.os.Parcelable](http://developer.android.com/reference/android/os/Parcelable.html)` ` |------------------|-------------------------------------------------------------------------------------------------------------| | ` abstract int`  | ` describeContents() `                                                                                      | | ` abstract void` | ` writeToParcel(`[Parcel](http://developer.android.com/reference/android/os/Parcel.html)` arg0, int arg1) ` | ||

## Fields

### CREATOR

```
Creator<ObservableParcelable> CREATOR
```

<br />

<br />

## Public constructors

### ObservableParcelable

```
ObservableParcelable (T value)
```

Wraps the given object and creates an observable object

<br />

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

### ObservableParcelable

```
ObservableParcelable ()
```

Creates an empty observable object

<br />

## Public methods

### describeContents

```
int describeContents ()
```

<br />

<br />

|    Returns    ||
|-------|--------|
| `int` | <br /> |

### writeToParcel

```
void writeToParcel (Parcel dest, 
                int flags)
```

<br />

<br />

|        Parameters        ||
|---------|-----------------|
| `dest`  | `Parcel` <br /> |
| `flags` | `int` <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)