java - data binding; view tag isn't correct, Android -


i'm stuck during data binding android tutorial. figured out have problem binding data view.

 public class dataview extends framelayout {  private dataviewbinding binding;   public dataview (context context, attributeset attrs) {      super(context,attrs);  }   @override  protected void onfinishinflate()  {      super.onfinishinflate();      binding = dataviewbinding.bind(this);       <---  }   @override  protected void onattachedtowindow()  {      super.onattachedtowindow();      datasource datasource = datasource.get("data view");      binding.setdatasource(datasource);          <---  } } 

data_view.xml

<layout>     <data>         <variable             name="datasource"             type="com.example.kaz.simplebindingdemo.datasource" />     </data>     <com.example.kaz.simplebindingdemo.dataview         xmlns:android="http://schemas.android.com/apk/res/android"         xmlns:tools="http://schemas.android.com/tools"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:paddingtop="16dp"         tools:showin="@layout/content_main"         tools:context=".dataview">          <textview             android:layout_width="match_parent"             android:layout_height="match_parent"             android:text="@{datasource.message}" />     </com.example.kaz.simplebindingdemo.dataview> </layout> 

and in rendering i'm getting exception:

java.lang.runtimeexception: view tag isn't correct on view:null     @ com.example.kaz.simplebindingdemo.databinding.dataviewbinding.bind(dataviewbinding.java:123)     @ com.example.kaz.simplebindingdemo.databinding.dataviewbinding.bind(dataviewbinding.java:119)     @ com.example.kaz.simplebindingdemo.dataview.onfinishinflate(dataview.java:22)     @ android.view.layoutinflater.rinflate_original(layoutinflater.java:844)     @ android.view.layoutinflater_delegate.rinflate(layoutinflater_delegate.java:70)     @ android.view.layoutinflater.rinflate(layoutinflater.java:811)    @ android.view.layoutinflater.rinflatechildren(layoutinflater.java:798)     @ android.view.layoutinflater.inflate(layoutinflater.java:515)     @ android.view.layoutinflater.inflate(layoutinflater.java:394) 

deletion binding declaration fix problem have got no custom view. :)

change this

<layout xmlns:android="http://schemas.android.com/apk/res/android"         xmlns:tools="http://schemas.android.com/tools">     <data>         <variable             name="datasource"             type="com.example.kaz.simplebindingdemo.datasource" />     </data>     <com.example.kaz.simplebindingdemo.dataview         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:paddingtop="16dp"         tools:showin="@layout/content_main"         tools:context=".dataview">          <textview             android:layout_width="match_parent"             android:layout_height="match_parent"             android:text="@{datasource.message}" />     </com.example.kaz.simplebindingdemo.dataview> </layout> 

Comments