data-binding

Additional

Language
Java
Version
N/A
Created
Jun 1, 2015
Updated
Jun 3, 2016 (Retired)
Owner
Ash Davies (ashdavies)
Contributor
Ash Davies (ashdavies)
1
Activity
Badge
Generate
Download
Source code

Announcement

Android Data Binding Library with RecyclerView

An example application for the Android Data Binding library, implementing retrofit to fetch a list of repositories and update a RecyclerView using the binding methods to display each repository as a view component.

Enter a GitHub username in the ActionBar SearchView component to trigger the observable request, the application uses Retrofit to query the open GitHub api for repositories, results are returned in the RecyclerView with data bindigs.

Usage

Requires Android Studio 1.3.0-beta1 or higher.

Classpath dependencies

  classpath 'com.android.tools.build:gradle:1.2.3'
  classpath 'com.android.databinding:dataBinder:1.0-rc0'

Plugins

apply plugin: ‘com.android.application'
apply plugin: 'com.android.databinding'

Layout

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>
        <variable name="user" type="com.example.User"/>
    </data>
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{user.firstName}" />
            
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{user.lastName}" />
   </LinearLayout>
</layout>

Activity

    ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity);
    User user = new User("Test", "User");
    binding.setUser(user);

Links