RecycleView适配器

package com.bwie.guilin.day11test.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bwie.guilin.day11test.R;
import com.bwie.guilin.day11test.model.GoodBean;
import com.squareup.picasso.Picasso;

import java.util.ArrayList;
import java.util.List;

public class Myadapter extends RecyclerView.Adapter<Myadapter.ViewHolder>{
    private  Context context;
    private ItemListener listener;
    private List<GoodBean.DataBean> list=new ArrayList<>();

    public Myadapter(List<GoodBean.DataBean> list, ItemListener listener, Context context){
        this.listener=listener;
        this.list=list;
        this.context=context;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = View.inflate(context, R.layout.item_layout_0, null);
        ViewHolder viewHolder = new ViewHolder(view);
        viewHolder.img=view.findViewById(R.id.img);
        viewHolder.tv_price=view.findViewById(R.id.tv_price);
        viewHolder.tv_title=view.findViewById(R.id.tv_title);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
        viewHolder.tv_price.setText(list.get(i).getSubhead());
        viewHolder.tv_title.setText(list.get(i).getTitle());
        String images = list.get(i).getImages();
        String[] split = images.split("[|]");
        Picasso.with(context).load(split[0]).into(viewHolder.img);


    }

    @Override
    public int getItemCount() {
        return list.size();
    }
    class  ViewHolder extends RecyclerView.ViewHolder {

        public ViewHolder(@NonNull View itemView) {
            super(itemView);

        }
        ImageView img;
        TextView tv_title;
        TextView tv_price;
    }

    public interface ItemListener{
        void get(int position);
    }




}

//能删除的

package com.bwie.guilin.day10test.mvp.adapter;

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.bwie.guilin.day10test.R;

import java.util.ArrayList;
import java.util.List;

public class Myadapter extends RecyclerView.Adapter<Myadapter.MyViewHolder> {

    private Context context;
    private List<String> list=new ArrayList<>();
    private OnclickListener listener;

    public Myadapter(Context context, List<String> list,OnclickListener listener){
        this.context=context;
        this.list=list;
        this.listener=listener;
        notifyDataSetChanged();
    }

    //返回viewholder
    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = View.inflate(context, R.layout.layout_item, null);
        MyViewHolder myViewHolder = new MyViewHolder(view);//赋值viewHodle
        myViewHolder.tv_tt=view.findViewById(R.id.tv_item);
        return myViewHolder;
    }

    //绑定view设置数据
    @Override
    public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, final int i) {
        myViewHolder.tv_tt.setText(list.get(i));

        //当点击时回调
        myViewHolder.tv_tt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                listener.getPosition(i);
            }
        });
    }
    //返回条目的数量
    @Override
    public int getItemCount() {
        return list.size();
    }


    //初始化控件
    class MyViewHolder extends RecyclerView.ViewHolder {

        public MyViewHolder(@NonNull View itemView) {
            super(itemView);
            
        }
        TextView tv_tt;

    }

    public interface OnclickListener{
        void getPosition(int position);

    }

    //自定义删除数据
    public void removeData(int position){
        list.remove(position);
        notifyItemRemoved(position);
        //延时删除
        handler.sendEmptyMessageDelayed(1000,1000);


    }
    private Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what==1000) {
                notifyDataSetChanged();
            }

        }
    };



}


//////////调用

private void recycle(RecyclerView recyclerView) {
        final List<String> list=new ArrayList<>();
        for (int i=0;i<50;i++){
            list.add("111111111111111111111111111111111111111111111111");
            list.add("2222222222222222222222222222222222");
            list.add("3333333333333333333");
            list.add("444444444");
        }
        //设置布局管理器
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
        linearLayoutManager.setOrientation(linearLayoutManager.VERTICAL);//设置垂直
//        GridLayoutManager gridLayoutManager=new GridLayoutManager(context,3);

        myadapter = new Myadapter(context, list, new Myadapter.OnclickListener() {
           @Override
           public void getPosition(int position) {
//             list.remove(position);
//             myadapter.notifyDataSetChanged();
             myadapter.removeData(position);
           }
       });

        recyclerView.setAdapter(myadapter);

//        //瀑布流
//        StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(4, StaggeredGridLayoutManager.VERTICAL);
        //添加动画
        recyclerView.setItemAnimator(new DefaultItemAnimator());

        //添加默认的分割线
        recyclerView.addItemDecoration(new DividerItemDecoration(context,DividerItemDecoration.VERTICAL));
        recyclerView.setLayoutManager(linearLayoutManager);


    }

猜你喜欢

转载自blog.csdn.net/Guilin666/article/details/83210488