需要的效果
我的item布局
思想:
通过item头部标题的显示和隐藏达到目的
1 通过tempTitle记录上一个头部标题的内容,如果当前和上一个相同这gone 否则visible
注意在adapter执行 notifiy的时候要重新初始化tempTitle (setData 方法里)
2 单纯这样会用bug 就是在向上滑动的时候头部标题位置会乱,
解决办法就是在1的时候利用listPosition记录每一次的position
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
String titleTime = data.get(position).getTime();;
if (listPosition.contains(position)) {
((MyViewHolder) holder).textView_date.setVisibility(View.VISIBLE);
} else if (!tempTime.equals(titleTime)) {
((MyViewHolder) holder).textView_date.setVisibility(View.VISIBLE);
listPosition.add(position);
} else {
((MyViewHolder) holder).textView_date.setVisibility(View.GONE);
}
tempTime = titleTime;
}
public void setData(List<RequestRecordBean> data) {
tempTime = "";//reset tempTime
this.data = data;
listPosition.clear();
}
本文介绍了一种优化RecyclerView中头部标题显示的方法,通过记录上一个标题的内容并在适配器中进行比较来实现标题的显示与隐藏,同时解决了滑动时标题位置错乱的问题。
1109

被折叠的 条评论
为什么被折叠?



