由于公司项目的需要,需要一个RecyclerView里面嵌套两个RecyclerView分别是RecyclerView1和RecyclerView2,根据点击的RecyclerView1里面的item来控制RecyclerView2的视图是否显示,最开始数据错误的情况,以为是RecyclerView的数据缓存问题
使用了RecyclerView.setItemViewCacheSize(n)后数据还是错乱,后面发现是数据位置的不对,主要重写getItemViewType(position),该方法能正确区分每个item的真正状态,从而解决了我的数据和view错乱的问题。网上也有通过给每个item主动settag来区分item,从而刷新视图的方法,可能相对麻烦点
@Override public int getItemViewType(int position) { return position; }