关于瀑布流的使用

public class PubuAdapter extends RecyclerView.Adapter<PubuAdapter.ViewHolderp> {

    private Context context;
    private  List<PubuBean.ResultsBean> list;

    public PubuAdapter(Context context) {
        this.context = context;
        list = new ArrayList<>();
    }

    public void setList(List<PubuBean.ResultsBean> list) {
        if (list!=null) {
            this.list = list;
        }
        notifyDataSetChanged();
    }

    @NonNull
    @Override
    public ViewHolderp onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(context).inflate(R.layout.itempubu, null);
        return new ViewHolderp(view);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolderp viewHolderp, int i) {
        viewHolderp.text_p.setText(list.get(i).get_id());
        Glide.with(context).load(list.get(i).getUrl()).into(viewHolderp.image_p);
        if (i % 2!=0){
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(viewHolderp.image_p.getLayoutParams());
            params.setMargins(0,100,0,0);
            viewHolderp.image_p.setLayoutParams(params);
        }else{
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(viewHolderp.image_p.getLayoutParams());
            params.setMargins(0,20,0,0);
            viewHolderp.image_p.setLayoutParams(params);
        }
    }

    @Override
    public int getItemCount() {
        Log.e("tag","++++++"+list.size());

        return list.size();
    }

    public class ViewHolderp extends RecyclerView.ViewHolder{

        private final TextView text_p;
        private final ImageView image_p;

        public ViewHolderp(@NonNull View itemView) {
            super(itemView);
            text_p = itemView.findViewById(R.id.text_P);
            image_p = itemView.findViewById(R.id.image_p);
        }
    }
}

在视图使用


p_rv = view.findViewById(R.id.p_rv);
        pubuAdapter = new PubuAdapter(getActivity());
        p_rv.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
        LoadPresenter loadPresenter = new LoadPresenter(this);
        loadPresenter.PubuPresenter(new HashMap<String, String>());
        p_rv.setAdapter(pubuAdapter);

猜你喜欢

转载自blog.csdn.net/qq_42828557/article/details/88342669
今日推荐