RecyclerView根据Position设置Item的子视图是否显示?
我在Adapter里面判断Position然后设置控件是否显示会显示错乱,请问有什么办法可以根据Position来设置控件是否显示。比如:我想在头和尾都显示一张图片,其他则不显示。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我在Adapter里面判断Position然后设置控件是否显示会显示错乱,请问有什么办法可以根据Position来设置控件是否显示。比如:我想在头和尾都显示一张图片,其他则不显示。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
XXX.setVisibility(position == XXX ? View.VISIBLE : View.GONE);
要带else的执行,不然会错乱,因为ListView和RecyclerView 都有复用机制,就是你用过的item 滑出屏幕一定距离后会被复用来显示新的数据,如果有某项不重新设置数据,会导致item 的数据是上一次的数据,造成数据错乱。就是你设置了隐藏,就要设置显示
没大看懂你的问题。。。
我觉得你可以重写getItemViewType()方法和getItemCount()方法,在onBindViewHolder中控制。当position是0和最后时显示图片,其他情况显示正确内容
这需要写两个viewHolder,一个是正常的展示数据的,另一个里面只有一个ImageView
需要先在OnCreatViewHolder时候设置viewType 并加载布局
然后再根据position判断type 设置 数据加载 和 展示。