我正在尝试在新项目中使用androids数据绑定功能,到目前为止对此非常满意。
但是现在我在我的recyclerviews视图持有人中遇到了一个问题。
我的视图持有人使用不同的布局(基于创建时的视图类型)
public MediaViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
switch(viewType){
case HEADER:
int layout = R.layout.item_media_header;
break;
case DEFAULT:
int layout = R.layout.item_media_default;
break;
case SMALL:
int layout = R.layout.item_media_small;
break;
}
View v = LayoutInflater.from(parent.getContext()).inflate(layout, parent, false);
return new MediaViewHolder(v);
}
Run Code Online (Sandbox Code Playgroud)
因此,所有这三个布局都具有相同的视图,只是布局不同。因此,模型与视图的绑定是相同的。
无论如何,基于android创建的布局
这很烂,因为这将迫使我创建3个不同的ViewHolder类或通过检查使用的布局来实例化正确的绑定类。
这种情况下有最佳实践吗?是否可以为这三个绑定类(例如“ ItemMediaBinding”)简单地创建一个超类。
提前致谢。