package com.citrus.sample; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.citrus.sdk.payment.NetbankingOption; import java.util.ArrayList; /** * Created by salil on 27/2/15. */ final class NetbankingAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private ArrayList<NetbankingOption> mNetbankingOptionList = null; public NetbankingAdapter(ArrayList<NetbankingOption> netbankingOptionList) { this.mNetbankingOptionList = netbankingOptionList; } public void setNetbankingOptionList(ArrayList<NetbankingOption> netbankingOptionList) { this.mNetbankingOptionList = netbankingOptionList; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { View itemView = LayoutInflater. from(viewGroup.getContext()). inflate(android.R.layout.simple_list_item_1, viewGroup, false); return new NetbankingViewHolder(itemView); } @Override public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int index) { NetbankingViewHolder itemHolder = (NetbankingViewHolder) viewHolder; NetbankingOption netbankingOption = getItem(index); if (netbankingOption != null) { itemHolder.txtBankName.setText(netbankingOption.getBankName()); } } @Override public int getItemCount() { if (mNetbankingOptionList != null) { return mNetbankingOptionList.size(); } else { return 0; } } /** * Called by RecyclerView when it stops observing this Adapter. * * @param recyclerView The RecyclerView instance which stopped observing this adapter. * @see #onAttachedToRecyclerView(android.support.v7.widget.RecyclerView) */ @Override public void onDetachedFromRecyclerView(RecyclerView recyclerView) { super.onDetachedFromRecyclerView(recyclerView); if (mNetbankingOptionList != null) { mNetbankingOptionList.clear(); } mNetbankingOptionList = null; } private NetbankingOption getItem(int position) { if (mNetbankingOptionList != null && position >= 0 && position < mNetbankingOptionList.size()) { return mNetbankingOptionList.get(position); } return null; } public static class NetbankingViewHolder extends RecyclerView.ViewHolder { final TextView txtBankName; public NetbankingViewHolder(View v) { super(v); txtBankName = (TextView) v.findViewById(android.R.id.text1); } } }