具有动态适配器大小的嵌套回收器视图



我正在创建一个像Play商店这样的回收器视图,其中垂直回收器视图包含一个水平回收器视图。但问题是水平列表具有动态数据数量,并且发生回收器视图的不一致检测到的类型错误。

日志帖子

java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 3(offset:3).state:8 android.support.v7.widget.RecyclerView{4ca8346 VFED..... ........ 0,80-686,393 #7f08014e app:id/vid_rv}, adapter:earn.ads.earningvideos.classes.Category_thumbnail@a083908, layout:android.support.v7.widget.LinearLayoutManager@b10e8a1, context:earn.ads.earningvideos.Activities.Home_page@9308787

它显示错误,因为您正在访问内部回收器视图中不存在的该项。

但是,您可以在内部回收器视图的适配器中的行下方写下。

@Override
public int getItemCount() {
return mValues.size()==0 ? 0 : mValues.size();
}

并添加条件以显示回收器视图(如果项目可用(。 否则,如果为空,请隐藏您内心的 RecycelrView。

最新更新