我在数据绑定Android教程中陷入困境。我发现将数据绑定到视图时遇到问题。
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); <---
} }
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
在渲染中,我遇到了异常:
java.lang.RuntimeException: view tag isn't correct on view:null at
com.example.kaz.simplebindingdemo.databinding.DataViewBinding.bind(DataViewBinding.java:123)
at
com.example.kaz.simplebindingdemo.databinding.DataViewBinding.bind(DataViewBinding.java:119) …Run Code Online (Sandbox Code Playgroud)