Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.polexexpress.polexonlinestorage.ui.adapter;
- import android.annotation.SuppressLint;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import androidx.annotation.NonNull;
- import androidx.recyclerview.widget.RecyclerView;
- import com.polexexpress.polexonlinestorage.R;
- import com.polexexpress.polexonlinestorage.model.SearchInvoice;
- import java.util.ArrayList;
- import static com.polexexpress.polexonlinestorage.other.Const.getTypeIcon;
- public class InvoiceAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
- private ArrayList<SearchInvoice> data;
- private static View.OnClickListener mOnItemClickListener;
- private final int VIEW_TYPE_ITEM = 0;
- private final int VIEW_TYPE_LOADING = 1;
- public InvoiceAdapter(ArrayList<SearchInvoice> data) {
- this.data = data;
- }
- @NonNull
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i){
- if (i == VIEW_TYPE_ITEM) {
- View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.delivery_list, viewGroup, false);
- return new InvoiceViewHolder(view);
- } else {
- View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_loading, viewGroup, false);
- return new LoadingViewHolder(view);
- }
- }
- @SuppressLint("SetTextI18n")
- @Override
- public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int position) {
- if (viewHolder instanceof InvoiceViewHolder) {
- populateItemRows((InvoiceViewHolder) viewHolder, position);
- } else if (viewHolder instanceof LoadingViewHolder) {
- showLoadingView((LoadingViewHolder) viewHolder, position);
- }
- }
- @Override
- public int getItemCount() {
- return data.size();
- }
- @Override
- public int getItemViewType(int position) {
- return data.get(position) == null ? VIEW_TYPE_LOADING : VIEW_TYPE_ITEM;
- }
- public void setOnItemClickListener(View.OnClickListener itemClickListener) {
- mOnItemClickListener = itemClickListener;
- }
- @Override
- public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
- super.onAttachedToRecyclerView(recyclerView);
- }
- static class InvoiceViewHolder extends RecyclerView.ViewHolder {
- TextView num;
- TextView date;
- TextView count;
- InvoiceViewHolder(@NonNull View itemView) {
- super(itemView);
- num = itemView.findViewById(R.id.item_num);
- date = itemView.findViewById(R.id.item_date);
- count = itemView.findViewById(R.id.item_count_places);
- itemView.setTag(this);
- itemView.setOnClickListener(mOnItemClickListener);
- }
- }
- private class LoadingViewHolder extends RecyclerView.ViewHolder {
- ProgressBar progressBar;
- public LoadingViewHolder(@NonNull View itemView) {
- super(itemView);
- progressBar = itemView.findViewById(R.id.progress_load);
- }
- }
- private void showLoadingView(LoadingViewHolder viewHolder, int position) {
- viewHolder.progressBar.setVisibility(View.VISIBLE);
- }
- @SuppressLint("SetTextI18n")
- private void populateItemRows(InvoiceViewHolder invoiceViewHolder, int i) {
- if (data.get(i).getPlaceNumber() != null)
- invoiceViewHolder.count.setText(data.get(i).getPlaceNumber() + " мест");
- else
- invoiceViewHolder.count.setText("Пусто");
- invoiceViewHolder.date.setText(data.get(i).getDate());
- invoiceViewHolder.num.setText(data.get(i).getTrackNo());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement