| | |
| | | @Override |
| | | public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { |
| | | VDB itemBind = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()),getLayoutId(),parent,false); |
| | | return getViewHolder(itemBind); |
| | | return getViewHolder(itemBind,viewType); |
| | | } |
| | | |
| | | protected abstract int getLayoutId(); |
| | | protected abstract void onBind(VH holder, int position); |
| | | protected abstract VH getViewHolder(VDB itemBind); |
| | | protected abstract VH getViewHolder(VDB itemBind,int viewType); |
| | | |
| | | @Override |
| | | public void onBindViewHolder(@NonNull VH holder, int position) { |
| | |
| | | if (mDataList == null || mDataList.size() == 0) { |
| | | setData(data); |
| | | } else { |
| | | mDataList.addAll(data); |
| | | notifyDataSetChanged(); |
| | | //一个一个的添加 |
| | | for (T datum : data) { |
| | | addItem(datum); |
| | | } |
| | | } |
| | | } |
| | | /** |
| | |
| | | position = mDataList.size() - 1; |
| | | } |
| | | notifyItemInserted(position); |
| | | notifyItemRangeChanged(position, mDataList.size() - position); |
| | | } |
| | | /** |
| | | * 删除单条数据 |
| | |
| | | mDataList.remove(position); |
| | | // 告诉适配器删除数据的位置,会有动画效果 |
| | | notifyItemRemoved(position); |
| | | notifyItemRangeChanged(position, mDataList.size() - position); |
| | | } |
| | | /** |
| | | * 设置 RecyclerView 条目点击监听 |