MVP、OkHttpClick、RecyclerView实现网络请求

这里有博客的源码:并且附带了效果图 学习MVP看了看   我就自己敲了一遍

https://blog.csdn.net/yin_chenglong/article/details/80563943

看完呢我觉得有一个更简单的删除功能:

在adapter中定义一个方法:

public void delete(int position){
    if (list.size() > 0){
        list.remove(position);
        notifyItemRemoved(position);
    }
}

再写一个接口回调:

public interface OnItemListener{
    void clickItem(int position);
}
private OnItemListener mOnItemListener;

public void setOnItemListener(OnItemListener onItemListener){
    mOnItemListener = onItemListener;
}

在之后就是在onBindViewHolder中调用接口中暴露的方法

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
    holder.text_title.setText(list.get(position).getTitle());
    holder.text_delete.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mOnItemListener.clickItem(position);
        }
    });
}

最后在activity中调用:

adapter.setOnItemListener(new NewsAdapter.OnItemListener() {
    @Override
    public void clickItem(int position) {
        adapter.delete(position);
        adapter.notifyDataSetChanged();
    }
});

一个小小的删除功能就ok了

 

猜你喜欢

转载自blog.csdn.net/yz1743585120/article/details/84190907
今日推荐