1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
| import android.support.annotation.Nullable; import android.util.Log; import android.view.View; import android.view.ViewGroup; import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.entity.MultiItemEntity; import com.keqiang.gftstore.R; import com.keqiang.gftstore.entity.CateEntity; import com.zhy.autolayout.utils.AutoUtils; import java.util.ArrayList; import java.util.List;
public class ContentRvAdapter extends BaseMultiItemQuickAdapter<MultiItemEntity, BaseViewHolder> { public ContentRvAdapter(@Nullable List<MultiItemEntity> data) { super(data); addItemType(0, R.layout.rv_item_right_title); addItemType(1, R.layout.rv_item_right_content); } @Override protected BaseViewHolder createBaseViewHolder(ViewGroup parent, int layoutResId) { BaseViewHolder baseViewHolder = super.createBaseViewHolder(parent, layoutResId); AutoUtils.auto(baseViewHolder.itemView); baseViewHolder.setNestView(R.id.iv_dec); baseViewHolder.setNestView(R.id.iv_add); return baseViewHolder; } @Override protected void convert(BaseViewHolder helper, MultiItemEntity item) { switch (helper.getItemViewType()) { case 0: CateEntity cate = (CateEntity) item; helper.setText(R.id.tv_title_name, cate.getName()); break; case 1: CateEntity.ContentEntity content = (CateEntity.ContentEntity) item; helper.setText(R.id.tv_goods_name, content.getName()) .setText(R.id.tv_price, content.getPrice() + "") .setText(R.id.tv_shop_qty, content.getCount() + "") .setVisible(R.id.iv_dec, content.getCount() != 0) .setVisible(R.id.tv_shop_qty, content.getCount() != 0); break; } } public int getFirstPositionOfGroup(int group) { if (getData() != null) { List<MultiItemEntity> data = getData(); for (int i = 0; i < data.size(); i++) { MultiItemEntity multiItemEntity = data.get(i); if (multiItemEntity instanceof CateEntity) { CateEntity cate = (CateEntity) multiItemEntity; if (cate.getIndex() == group) { Log.e("TTT", "i=" + i); return i; } } } } return 0; } public int getGroupForPosition(int position) { if (getData() != null) { MultiItemEntity multiItemEntity = getData().get(position); if (multiItemEntity instanceof CateEntity.ContentEntity) { CateEntity.ContentEntity content = (CateEntity.ContentEntity) multiItemEntity; return content.getIndex(); } else { CateEntity cate = (CateEntity) multiItemEntity; return cate.getIndex(); } } return 0; } public float countMoney() { float count = 0f; for (MultiItemEntity multiItemEntity : getData()) { if (multiItemEntity instanceof CateEntity.ContentEntity) { CateEntity.ContentEntity content = (CateEntity.ContentEntity) multiItemEntity; float v = content.getCount() * content.getPrice(); count += v; } } return count; } public int getCount() { int count = 0; for (MultiItemEntity multiItemEntity : getData()) { if (multiItemEntity instanceof CateEntity.ContentEntity) { CateEntity.ContentEntity content = (CateEntity.ContentEntity) multiItemEntity; int v = content.getCount(); count += v; } } return count; } public List<CateEntity.ContentEntity> getCarShop() { List<CateEntity.ContentEntity> list = new ArrayList<>(); for (MultiItemEntity multiItemEntity : getData()) { if (multiItemEntity instanceof CateEntity.ContentEntity) { CateEntity.ContentEntity content = (CateEntity.ContentEntity) multiItemEntity; int v = content.getCount(); if (v > 0) { list.add(content); } } } return list; } }
|