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
Post a Comment