相关疑难解决方法(0)

RecyclerView一次调用onCreateViewHolder和onBindViewHolder获取所有项目

我有一个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)

performance android android-recyclerview nestedscrollview

8
推荐指数
1
解决办法
1362
查看次数