您的位置:首页 > 其它

安卓Recyclerview 两种type的解决方法

2016-09-27 16:31 351 查看
需要的效果



我的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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: