私のクラスはLinearLayoutを拡張し、レイアウトを拡張するためにDataBindingを使用します。ビューのビューが正しくないという例外がスローされます。 。Android DataBinding - ビュータグが正しく表示されない:null
これは私のコードです:
public class DietListView extends LinearLayout {
private LayoutDietListViewBinding mBinding;
private List<?> mDietList = new LinkedList<>();
private LayoutInflater mInflater;
public DietListView(Context context) {
this(context,null);
}
public DietListView(Context context, AttributeSet attrs) {
this(context, attrs,0);
}
public DietListView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView(context);
}
private void initView(Context context) {
mInflater = LayoutInflater.from(context);
mBinding = DataBindingUtil.inflate(mInflater, R.layout.layout_diet_list_view, null, false);
addView(mBinding.getRoot());
}
}
レイアウトファイルは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:bind="http://schemas.android.com/apk/res-auto">
<data>
</data>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
.....
</LinearLayout>
</layout>
ここに正確なエラーがあり、同様の質問があります。 http://stackoverflow.com/questions/33116688/android-view-tag-isnt-correct-on-viewnull-cursoradapter-and-databinding –
私はそれを見ました。それは動作しません。カスタムビュークラスでdataBindingを使用していますが、わかりません。 – OstAlex
これを再現することはできません。 Androidのgradleプラグインのどのバージョンを使用していますか?私はAndroid Studio 2.1とそれに付属のプラグインでテストしました。バインディングされていないレイアウトファイルを展開している可能性もあります。 –