package bf.io.openshop.ux.adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import bf.io.openshop.R;
import bf.io.openshop.entities.delivery.Branch;
/**
* BaseAdapter for branches list.
*/
public class BranchesAdapter extends BaseAdapter {
private List<Branch> branches = new ArrayList<>();
private LayoutInflater layoutInflater;
/**
* Creates an adapter for branches list.
*
* @param context activity context
* @param branches list of items.
*/
public BranchesAdapter(Context context, List<Branch> branches) {
layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.branches = branches;
}
@Override
public int getViewTypeCount() {
return 1;
}
@Override
public int getCount() {
return branches.size();
}
@Override
public Branch getItem(int position) {
return branches.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = layoutInflater.inflate(R.layout.list_item_shipping, parent, false);
holder.title = (TextView) convertView.findViewById(R.id.shipping_title);
holder.description = (TextView) convertView.findViewById(R.id.shipping_description);
holder.price = (TextView) convertView.findViewById(R.id.shipping_price);
holder.shopInfo = (ImageView) convertView.findViewById(R.id.shipping_shop_info);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
final Branch item = branches.get(position);
holder.price.setVisibility(View.GONE);
holder.title.setText(item.getName());
holder.description.setText(item.getAddress());
holder.shopInfo.setVisibility(View.VISIBLE);
return convertView;
}
public static class ViewHolder {
public TextView title;
public TextView description;
public TextView price;
public ImageView shopInfo;
}
}