Recyclerview с верхним и нижним колонтитулом - PullRequest
0 голосов
/ 22 декабря 2018

введите описание изображения здесь Отдел КОЛИЧЕСТВО СУММЫ name1 1 10.00Введите описание изображения здесь name2 2 10.00 name3 3 50.00

ИТОГО 6 70.00

Отдел QTY AMOUNT name4 2 10.00name5 5 20.00 name6 4 30.00

ИТОГО 11 60.00

у меня есть данные API в API 1 (name1 to name3) и API2 (name4 to name6), я пробовал, но заголовок раздела будет принимать0 позиции от обычного элемента и появляются в ячейке элемента

Может ли кто-нибудь помочь мне для заголовка, нижнего колонтитула для просмотра переработчика?

Вид заголовка раздела

открытый класс CallDetailsAdapter расширяет RecyclerView.Adapter {

private List<Object> mList;
private Context mContext;
private static final int ITEM_TYPE_NORMAL = 0;
private static final int ITEM_TYPE_HEADER = 1;
private static final int VIEW_PROG = 2;
private ArrayList<String> displayedTicketList;
private Fragment fragment;

public CallDetailsAdapter(Context mContext, Fragment fragment, List<Object> mList) {
    this.mContext = mContext;
    this.fragment = fragment;
    this.mList = mList;
    displayedTicketList = new ArrayList<>();
}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    RecyclerView.ViewHolder viewHolder = null;
    if (viewType == ITEM_TYPE_HEADER) {
        viewHolder = new SectionViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.cell_header_sales, parent, false));
    } else if (viewType == ITEM_TYPE_NORMAL) {
        viewHolder = new DashboardViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.raw_sales_summary_list, parent, false));
    }
    return viewHolder;
}

@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
    switch (holder.getItemViewType()) {
        case ITEM_TYPE_HEADER:
            SectionViewHolder mSectionViewHolder = (SectionViewHolder) holder;
            //mSectionViewHolder.txtTitleDepartment.setText("Department");
            break;
        case ITEM_TYPE_NORMAL:
            DashboardViewHolder mViewHolder = (DashboardViewHolder) holder;
            ModelSalesSummary model = (ModelSalesSummary) mList.get(position);
            mViewHolder.txtDeptName.setText("" + model.getDepartmentName());
            mViewHolder.txtQty.setText("" + model.getQty());
            mViewHolder.txtAmount.setText("" + model.getAmount());
            break;
    }
}

@Override
public int getItemCount() {
    return mList.size();
}

@Override
public int getItemViewType(int position) {
    if (isPositionHeader(position))
        return ITEM_TYPE_HEADER;
    return ITEM_TYPE_NORMAL;
}

private boolean isPositionHeader(int position) {
    return position == 0;
}

private interface ItemClickListener {
    void onItemClicked(int position);
}

static class SectionViewHolder extends RecyclerView.ViewHolder {
    SectionViewHolder(View view) {
        super(view);
        ButterKnife.bind(this, view);
    }
}

static class DashboardViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
    @BindView(R.id.txtDeptName)
    TextView txtDeptName;
    @BindView(R.id.txtQty)
    TextView txtQty;
    @BindView(R.id.txtAmount)
    TextView txtAmount;
    private ItemClickListener mItemClickListener;

    DashboardViewHolder(View view) {
        super(view);
        this.mItemClickListener = mItemClickListener;
        ButterKnife.bind(this, view);
        view.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        mItemClickListener.onItemClicked(getAdapterPosition());
    }
}

}

Отдел КОЛИЧЕСТВО СУММЫ name1 1 10.00 name2 2 10.00 name3 3 50.00

ИТОГО 6 70,00

Отдел КОЛИЧЕСТВО СУММА имя4 2 10,00 имя5 5 20,00 имя6 4 30,00

ИТОГО 11 60,00

введите описание изображения здесь

...