多布局添加删除添加分割线

导入三个依赖

//recyclerview间隔线

implementation'com.yanyusong.y_divideritemdecoration:y_divideritemdecoration:2.0'

//recyclerview动画

implementation'jp.wasabeef:recyclerview-animators:4.0.2'

// recyclerview

    implementation'androidx.recyclerview:recyclerview:1.0.0'


//这次是放到fragment里的



public class NewsFragmentextends Fragmentimplements OnRefreshLoadMoreListener {

private Bannerban;

    private RecyclerViewrec;

    Listintegers;

    Liststrings;

    Listdata =new ArrayList<>();

    LinearLayoutManagerlinearLayoutManager =new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false);

    private SmartRefreshLayoutrfLay;

    RecAdapterrecAdapter;

    int page =1;

    boolean yes;

    @Override

    public ViewonCreateView(LayoutInflater inflater, ViewGroup container,

                            Bundle savedInstanceState) {

// Inflate the layout for this fragment

        View inflate = inflater.inflate(R.layout.fragment_news, container, false);

        //实例化

        ban = inflate.findViewById(R.id.ban);

        rec = inflate.findViewById(R.id.rec);

        rfLay =inflate. findViewById(R.id.rf_lay);

        rfLay.setOnRefreshLoadMoreListener(this);

        rec.addItemDecoration(new Deivider(getActivity()));

        return inflate;

    }

//}

    public void initData() {

rec.setLayoutManager(linearLayoutManager);

        OkGo.get("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=" +page).execute(new StringCallback() {

@Override

            public void onSuccess(Response response) {

//                解析数据

                String body = response.body();

                Gson gson =new Gson();

                Foods foods = gson.fromJson(body, Foods.class);

                data = foods.getData();

                for (int i =0; i

data.get(i).index = i %2;

                }

//                判断加上适配调用下边的方法

                initView(data);

//                添加点击事件

                recAdapter.setOnItemLongClickListener(new OnItemLongClickListener() {

@Override

                    public boolean onItemLongClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) {

recAdapter.remove(position);

                        recAdapter.notifyDataSetChanged();

return false;

                    }

});

            }

private void initView(List data) {

rfLay.finishRefresh();

                rfLay.finishLoadMore();

//                添加适配器

                if (recAdapter==null){

recAdapter=new RecAdapter(data);

                    rec.setAdapter(recAdapter);

                }else {

if (yes){

recAdapter.getData().clear();

                    }

recAdapter.getData().addAll(data);

                    recAdapter.notifyDataSetChanged();

                }

}

});

    }

//加载更多

@Override

    public void onLoadMore(@NonNull RefreshLayout refreshLayout) {

page++;

        initData();

        yes=false;

    }

//    刷新

    @Override

    public void onRefresh(@NonNull RefreshLayout refreshLayout) {

page=1;

        initData();

        yes=true;

    }

}

//适配器还是老样子布局可以看简单版


public class RecAdapterextends BaseMultiItemQuickAdapter {

public RecAdapter(@Nullable List data) {

//添加多布局

        super(data);

        addItemType(0,R.layout.slidetext);

        addItemType(1,R.layout.slideimae);

    }

//绑定控件

    @Override

    protected void convert(@NotNull BaseViewHolder baseViewHolder, Foods.DataBean dataBean) {

switch (dataBean.index){

case 0:

baseViewHolder.setText(R.id.tv_slide1,dataBean.getTitle());

break;

            case 1:

ImageView view = baseViewHolder.getView(R.id.iv1_slide2);

                Glide.with(getContext()).load(dataBean.getPic())

.apply(RequestOptions.bitmapTransform(new CircleCrop()))

.into(view);

break;

        }

}

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容