第二阶段个人冲刺记录05
今天:继续完成了新闻列表的展示
明天:继续下一个功能,点击列表显示新闻详情
在adapter下新建一个TrashNewsAdapter类,里面的代码如下:
/** * 垃圾分类新闻列表适配器 */ public class TrashNewsAdapter extends BaseQuickAdapter<TrashNewsResponse.NewslistBean, BaseViewHolder> { public TrashNewsAdapter(int layoutResId, @Nullable List<TrashNewsResponse.NewslistBean> data) { super(layoutResId, data); } @Override protected void convert(BaseViewHolder helper, TrashNewsResponse.NewslistBean item) { helper.setText(R.id.tv_title, item.getTitle()) .setText(R.id.tv_description, item.getDescription()) .addOnClickListener(R.id.item_trash_news); } }
新建一个initView方法
/** * 页面初始化 */ private void initView() { banner = findViewById(R.id.banner); collapsingToolbarLayout = findViewById(R.id.toolbar_layout); appBarLayout = findViewById(R.id.appbar_layout); rvNews = findViewById(R.id.rv_news); //伸缩偏移量监听 appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { boolean isShow = true; int scrollRange = -1; @Override public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { if (scrollRange == -1) { scrollRange = appBarLayout.getTotalScrollRange(); } if (scrollRange + verticalOffset == 0) {//收缩时 collapsingToolbarLayout.setTitle("垃圾分类"); isShow = true; } else if (isShow) {//展开时 collapsingToolbarLayout.setTitle(""); isShow = false; } } }); //设置列表 mAdapter = new TrashNewsAdapter(R.layout.item_trash_new_rv, mList); mAdapter.setOnItemChildClickListener((adapter, view, position) -> { showMsg("点击了第" + position + "个"); }); rvNews.setLayoutManager(new LinearLayoutManager(context)); rvNews.setAdapter(mAdapter); //请求垃圾分类新闻数据 mPresenter.getTrashNews(10); }
再写一个显示列表数据的方法
/** * 显示新闻列表 * * @param list */ private void showList(List<TrashNewsResponse.NewslistBean> list) { mList.clear(); mList.addAll(list); mAdapter.notifyDataSetChanged(); }

浙公网安备 33010602011771号