package com.mozu.mozuandroidinstoreassistant.app.order.adapters; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.mozu.api.contracts.commerceruntime.orders.OrderItem; import com.mozu.mozuandroidinstoreassistant.app.R; import java.util.ArrayList; import java.util.List; import butterknife.ButterKnife; import butterknife.InjectView; public class OrderFulfillmentMoveToItemAdapter extends RecyclerView.Adapter<OrderFulfillmentMoveToItemAdapter.ViewHolder> { List<OrderItem> mData; MoveToListListener mListener; private ArrayList<Integer> mSelected; public OrderFulfillmentMoveToItemAdapter(List<OrderItem> mData, MoveToListListener mListener) { this.mData = mData; this.mListener = mListener; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.move_to_item, parent, false); return new OrderFulfillmentMoveToItemAdapter.ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { if (mSelected != null && !mSelected.isEmpty()) { if (mSelected.contains(position)) { holder.itemView.setActivated(true); } } OrderItem item = mData.get(position); holder.code.setText(item.getProduct().getProductCode()); holder.product.setText(item.getProduct().getName()); holder.location.setText(item.getFulfillmentLocationCode()); holder.quantity.setText(item.getQuantity() + ""); } @Override public int getItemCount() { return mData.size(); } public void setSelected(ArrayList<Integer> selected) { mSelected = selected; } public interface MoveToListListener { void onItemSelected(Integer position, boolean isSelected); } class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @InjectView(R.id.ordered_item_code) TextView code; @InjectView(R.id.ordered_item_product) TextView product; @InjectView(R.id.location_code) TextView location; @InjectView(R.id.ordered_item_quantity) TextView quantity; public ViewHolder(View itemView) { super(itemView); ButterKnife.inject(this, itemView); itemView.setOnClickListener(this); } @Override public void onClick(View itemView) { itemView.setActivated(!itemView.isActivated()); mListener.onItemSelected(getAdapterPosition(), itemView.isActivated()); } } }