我有非常簡單的代碼,應該根據幾篇文章有關DataBinding工作,但由於某種原因它不是。RuntimeException:視圖標記不正確的視圖:null ViewAgendaItemBinding.bind()方法
我想與數據綁定一起使用RecycleView。
class ItemViewHolder extends RecyclerView.ViewHolder{
ViewAgendaItemBinding binding;
public ItemViewHolder(View itemView) {
super(itemView);
binding = ViewAgendaItemBinding.bind(itemView); //this is line where it's throw an error.
}
}
我檢查生成此bind
方法的版本,它看起來像這樣:
public static ViewAgendaItemBinding bind(android.view.View view, android.databinding.DataBindingComponent bindingComponent) {
if (!"layout/view_agenda_item_0".equals(view.getTag())) {
throw new RuntimeException("view tag isn't correct on view:" + view.getTag());
}
return new ViewAgendaItemBinding(bindingComponent, view);
}
這是相當奇怪的。因爲我沒有layout/view_agenda_item_0
。這個視圖應該使用layout/view_agenda_item
,我顯然沒有設置任何標籤。但是,即使我爲這個確切元素設置了這些標籤,它仍然無法正常工作。
我應該怎麼做才能解決這個問題?
P.S.但是,如果我將這個代碼ViewAgendaItemBinding.bind(itemView)
更改爲這個DataBindingUtils.bind(itemView)
它正在工作。數據綁定庫是一個問題嗎?
我不知道我是否正確地得到這一點。我非常確信,這是我試圖綁定數據的唯一地方,因爲它只是使用適配器與數據綁定的虛擬示例。 –