您的当前位置:首页正文

RecyclerView 最后一项显示不全的解决方案

来源:华佗小知识

题目有些唬人,其实并没有彻底解决问题,但是确实解决了显示不完全的问题。
思路很简单:在最后多添加一个空白数据。

  1. 首先,获取到要添加的 item 的布局:
static class MyHolder extends RecyclerView.ViewHolder {
  View itemView;
  MyHolder(@NonNull View itemView) {
    this.itemView = itemView;
  }
}
  1. 其次,多计数一个 item:
@Override
public int getItemCount() {
  // data 是 item 中的数据的集合
  data == null ? 0 : data.size();
}
  1. 最后,判断数据
@Override
public void onBindViewHolder(@NonNull MyHolder viewHolder, int position) {
  // 下面的判断,必须放在当前方法的最前面
  if(position == data.size) {
    viewHolder.itemView.setVisibility(View.GONE);
    return ;
  }
}