# Bindable

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

# Bindable

`
public


abstract
@interface
Bindable
`  
`


implements

`[Annotation](http://developer.android.com/reference/java/lang/annotation/Annotation.html)`


`

|------------------------------|
| android.databinding.Bindable |

<br />

*** ** * ** ***

The Bindable annotation should be applied to any getter accessor method of an[Observable](https://developer.android.com/reference/android/databinding/Observable)class. Bindable will generate a field in the BR class to identify the field that has changed.

When applied to an accessor method, the Bindable annotation takes an optional list of property names that it depends on. If there is a change notification of any of the listed properties, this value will also be considered dirty and be refreshed. For example:

<br />

     @Bindable
     public void getFirstName() { return this.firstName; }

     @Bindable
     public void getLastName() { return this.lastName; }

     @Bindable({"firstName", "lastName"}}
     public void getName() { return this.firstName + ' ' + this.lastName; }
     
Whenever either`firstName`or`lastName`has a change notification,`name`will also be considered dirty. This does not mean that[onPropertyChanged(Observable, int)](https://developer.android.com/reference/android/databinding/Observable.OnPropertyChangedCallback#onPropertyChanged(android.databinding.Observable, int))will be notified for`BR.name`, only that binding expressions containing`name`will be dirtied and refreshed.  
**See also:**

- [onPropertyChanged(Observable, int)](https://developer.android.com/reference/android/databinding/Observable.OnPropertyChangedCallback#onPropertyChanged(android.databinding.Observable, int))

## Summary

|                                                                             ### Public methods                                                                             ||
|-----------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
| ` `[String[]](http://developer.android.com/reference/java/lang/String.html) | ` `[value](https://developer.android.com/reference/android/databinding/Bindable#value())`() ` |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/databinding/Bindable#)From interface` `[java.lang.annotation.Annotation](http://developer.android.com/reference/java/lang/annotation/Annotation.html)` ` |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------| | ` abstract `[Class](http://developer.android.com/reference/java/lang/Class.html)`<? extends `[Annotation](http://developer.android.com/reference/java/lang/annotation/Annotation.html)`>` | ` annotationType() `                                                                      | | ` abstract boolean`                                                                                                                                                                       | ` equals(`[Object](http://developer.android.com/reference/java/lang/Object.html)` arg0) ` | | ` abstract int`                                                                                                                                                                           | ` hashCode() `                                                                            | | ` abstract `[String](http://developer.android.com/reference/java/lang/String.html)                                                                                                        | ` toString() `                                                                            | ||

## Public methods

### value

```
String[] value ()
```

<br />

<br />

|                                     Returns                                      ||
|--------------------------------------------------------------------------|--------|
| [String[]](http://developer.android.com/reference/java/lang/String.html) | <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)