首页 > RecyclerView根据Position设置Item的子视图是否显示?

RecyclerView根据Position设置Item的子视图是否显示?

我在Adapter里面判断Position然后设置控件是否显示会显示错乱,请问有什么办法可以根据Position来设置控件是否显示。比如:我想在头和尾都显示一张图片,其他则不显示。


没大看懂你的问题。。。
我觉得你可以重写getItemViewType()方法和getItemCount()方法,在onBindViewHolder中控制。当position是0和最后时显示图片,其他情况显示正确内容
这需要写两个viewHolder,一个是正常的展示数据的,另一个里面只有一个ImageView


XXX.setVisibility(position == XXX ? View.VISIBLE : View.GONE);
要带else的执行,不然会错乱,因为ListView和RecyclerView 都有复用机制,就是你用过的item 滑出屏幕一定距离后会被复用来显示新的数据,如果有某项不重新设置数据,会导致item 的数据是上一次的数据,造成数据错乱。就是你设置了隐藏,就要设置显示


需要先在OnCreatViewHolder时候设置viewType 并加载布局
然后再根据position判断type 设置 数据加载 和 展示。

【热门文章】
【热门文章】