在我的Android应用程序中,我一直在使用几个具有完全不同外观和要求的RecyclerViews。随着数量的增加,我想到了统一它们。所以我的问题是,对于具有不同要求的recyclerviews,我应该使用不同的适配器(布局文件不能相同)或像这样的一个通用适配器:
public class DataAdapter extends RecyclerView.Adapter < DataAdapter.ViewHolder > {
variables...
public DataAdapter(Context context) {
}
@Override
public DataAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
// if(the_condition_to check_which_recycler_view)
// inflate a;
// else if(other_condition)
// inflate b;
// else ...
return xyz;
}
@Override
public void onBindViewHolder(final ViewHolder viewHolder, int i) {
// if(the_condition_to check_which_recycler_view)
// do this;
// else if(other_condition)
// do this;
// else ...
}
@Override
public int getItemCount() {
return xyz;
}
public class ViewHolder extends RecyclerView.ViewHolder {
//All Views Declared Here
public ViewHolder(View view) {
super(view);
//AllViewsDefinedHere
}
}
}
我想问的另一件小事是我见过像FastAdapter这样的各种库,它们说它们简化了整个适配器的工作,但我无法理解它们是如何帮助的。手动适配器方法是否存在问题?