Android recyclerview中的预加载视图

Android recyclerview中的预加载视图,android,android-recyclerview,android-viewholder,Android,Android Recyclerview,Android Viewholder,我正在使用viewholder模式对不同的视图类型进行recyclerview。 作为我的一个视图,我有一个graphView,加载时间使我的recyclerview在滚动过去时结巴。 我尝试在onCreateViewhodler中初始化图形,它给出了一点但还不够:-( 是否有任何方法可以预加载视图或仅在特定条件下重新加载 onCreateViewholder @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGr

我正在使用viewholder模式对不同的视图类型进行recyclerview。 作为我的一个视图,我有一个graphView,加载时间使我的recyclerview在滚动过去时结巴。 我尝试在onCreateViewhodler中初始化图形,它给出了一点但还不够:-(

是否有任何方法可以预加载视图或仅在特定条件下重新加载

onCreateViewholder

  @Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    ...
    switch(viewType){

        case 0:{
            ...
            break;
        }
        case 1:{
            View v = inflater.inflate(R.layout.today_graph, parent, false);
            viewHolder = new GraphViewholder(v);
            chart = new TodayChartView (mContext, v);
            chart.createGraph(item);
            break;
        }
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {

    switch (holder.getItemViewType()) {
        case 0: {
            ...
            break;
        }
        case 1: {
            GraphViewholder graphViewholder = (GraphViewholder) holder;
            BindGraphViewHolder(graphViewholder, position, chart);
            break;
        }
private void BindGraphViewHolder(GraphViewholder holder, int position, TodayChartView chart) {
    if(holder.itemView==null){
        ((ViewGroup)holder.itemView).addView(chart.getView());
    }
}
public static class GraphViewholder extends RecyclerView.ViewHolder {
    public GraphViewholder(View view) {
        super(view);
    }
}
onBindViewholder

  @Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    ...
    switch(viewType){

        case 0:{
            ...
            break;
        }
        case 1:{
            View v = inflater.inflate(R.layout.today_graph, parent, false);
            viewHolder = new GraphViewholder(v);
            chart = new TodayChartView (mContext, v);
            chart.createGraph(item);
            break;
        }
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {

    switch (holder.getItemViewType()) {
        case 0: {
            ...
            break;
        }
        case 1: {
            GraphViewholder graphViewholder = (GraphViewholder) holder;
            BindGraphViewHolder(graphViewholder, position, chart);
            break;
        }
private void BindGraphViewHolder(GraphViewholder holder, int position, TodayChartView chart) {
    if(holder.itemView==null){
        ((ViewGroup)holder.itemView).addView(chart.getView());
    }
}
public static class GraphViewholder extends RecyclerView.ViewHolder {
    public GraphViewholder(View view) {
        super(view);
    }
}
活页夹

  @Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    ...
    switch(viewType){

        case 0:{
            ...
            break;
        }
        case 1:{
            View v = inflater.inflate(R.layout.today_graph, parent, false);
            viewHolder = new GraphViewholder(v);
            chart = new TodayChartView (mContext, v);
            chart.createGraph(item);
            break;
        }
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {

    switch (holder.getItemViewType()) {
        case 0: {
            ...
            break;
        }
        case 1: {
            GraphViewholder graphViewholder = (GraphViewholder) holder;
            BindGraphViewHolder(graphViewholder, position, chart);
            break;
        }
private void BindGraphViewHolder(GraphViewholder holder, int position, TodayChartView chart) {
    if(holder.itemView==null){
        ((ViewGroup)holder.itemView).addView(chart.getView());
    }
}
public static class GraphViewholder extends RecyclerView.ViewHolder {
    public GraphViewholder(View view) {
        super(view);
    }
}
观众

  @Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    ...
    switch(viewType){

        case 0:{
            ...
            break;
        }
        case 1:{
            View v = inflater.inflate(R.layout.today_graph, parent, false);
            viewHolder = new GraphViewholder(v);
            chart = new TodayChartView (mContext, v);
            chart.createGraph(item);
            break;
        }
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {

    switch (holder.getItemViewType()) {
        case 0: {
            ...
            break;
        }
        case 1: {
            GraphViewholder graphViewholder = (GraphViewholder) holder;
            BindGraphViewHolder(graphViewholder, position, chart);
            break;
        }
private void BindGraphViewHolder(GraphViewholder holder, int position, TodayChartView chart) {
    if(holder.itemView==null){
        ((ViewGroup)holder.itemView).addView(chart.getView());
    }
}
public static class GraphViewholder extends RecyclerView.ViewHolder {
    public GraphViewholder(View view) {
        super(view);
    }
}