我有一个recyclerView能够在屏幕上显示最多3个项目,但它会同时调用onCreateViewHolder和onBindViewHolder列表中的所有45个项目(如下面的日志中所示).
不应该只在我将这些项目滚动到屏幕时调用这些方法吗?
*我使用0和1的列表作为测试来定义它应该使用的布局.
我的适配器代码
public class MyRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
int[] post_list;
private static final int TYPE_0 =0;
private static final int TYPE_1=1;
private LayoutInflater inflater;
private Context context;
Activity mActivity;
public MyRecyclerAdapter(Context context, int[] list, Activity mActivity){
this.context=context;
inflater=LayoutInflater.from(context);
this.list=list;
this.mActivity = mActivity;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
Log.e("onCreateViewHolder", "CALLED");
if(viewType== TYPE_0){
View view=inflater.inflate(R.layout.layout_type0, parent,false);
Type0Holder holder=new Type0Holder(view);
return holder;
}
else{
View view=inflater.inflate(R.layout.layout_type1, parent,false);
Type1Holder holder=new Type1Holder (view);
return holder;
}
}
@Override
public …Run Code Online (Sandbox Code Playgroud)