今日工作1个小时20分钟。 RecyclerView 可以在没有数据的时候显示“目前还没有记录哦”的提示信息。主要用到了 onCreateViewHolder 函数中的 viewType 参数,参考了这篇文章:Android之RecyclerView之空数据提示。
// 一个 view 的 ViewHolder
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
if (viewType == VIEW_TYPE_EMPTY) {
// 空数据的话
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_empty, parent, false);
return new MyEmptyViewHolder(view);
} else {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.water_card, parent, false);
return new MyViewHolder(view);
}
}
@Override
public int getItemViewType(int position) {
if (waterOrders.size() <= 0) {
return VIEW_TYPE_EMPTY;
}
return super.getItemViewType(position);
}
@Override
public int getItemCount() {
return waterOrders.size() > 0 ? waterOrders.size() : 1;
}