PinnedSectionItemDecoration
PinnedSectionItemDecoration copied to clipboard
求教在结合BaseRecyclerViewAdapterHelper实现粘性没效果
主要代码:
在fragment中: mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); mHeaderItemDecoration = new
PinnedHeaderItemDecoration.Builder(IncomeAdapter.TYPE_STICKY_HEAD) .disableHeaderClick(false).create();
mRecyclerView.addItemDecoration(mHeaderItemDecoration);
mAdapter = new IncomeAdapter(R.layout.item_income, R.layout.lv_pointrecord_header, mList);
mAdapter.openLoadAnimation(BaseQuickAdapter.SLIDEIN_BOTTOM);
mRecyclerView.setAdapter(mAdapter);
在Adapter中: public class IncomeAdapter extends BaseSectionQuickAdapter<IncomeSection,BaseViewHolder> {
// public final static int TYPE_DATA = 1; public static int TYPE_STICKY_HEAD = 1; // public final static int TYPE_SMALL_STICKY_HEAD_WITH_DATA = 3;
public IncomeAdapter(int layoutResId, int sectionHeadResId, List data){
super(layoutResId, sectionHeadResId, data);
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
FullSpanUtil.onAttachedToRecyclerView(recyclerView, this, TYPE_STICKY_HEAD);
}
@Override
public void onViewAttachedToWindow(BaseViewHolder holder) {
super.onViewAttachedToWindow(holder);
FullSpanUtil.onViewAttachedToWindow(holder, this,TYPE_STICKY_HEAD );
}
@Override
protected void convertHead(BaseViewHolder helper, IncomeSection item) {
helper.setText(R.id.lv_pointrecord_date,item.header);
}
@Override
protected void convert(BaseViewHolder helper, IncomeSection item) {
Income income = item.t;
helper.setText(R.id.tv_Week, TimeUtils.dateToWeek(income.getIncome_time()));
helper.setText(R.id.tv_Time, income.getIncome_time());
helper.setText(R.id.tv_Income_desc, income.getIncome_desc());
helper.setText(R.id.tv_Income_money, "¥"+income.getIncome_monery()+"元");
}
实体类: public class IncomeSection extends SectionEntity<Income> {
private List<Income> items;
// public static final int TYPE_HEADER = 1; // public static final int TYPE_DATA = 2;
public IncomeSection(boolean isHeader, String header) {
super(isHeader, header);
items = new ArrayList<>();
}
public IncomeSection(Income income) {
super(income);
items = new ArrayList<>();
}
public void addIncome(Income item) {
this.items.add(item);
}
public List<Income> getItems() {
return items;
}
}
求教大佬,谢谢
额 你要是能抽出给个demo我 我好定位问题啊orz
他没定义多布局的IncomeAdapter.TYPE_STICKY_HEAD