今天:继续完成了新闻列表的展示
明天:继续下一个功能,点击列表显示新闻详情
在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();
}