package com.refresh.pos.ui.component; import java.util.List; import java.util.Map; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.SimpleAdapter; /** * An adapter for ListView which able to assign a sub-button in each row data. * * @author Refresh Team * */ public class ButtonAdapter extends SimpleAdapter { private List<? extends Map<String, ?>> data; private int buttonId; private String tag; /** * Construct a new ButtonAdapter * @param context * @param data * @param resource * @param from * @param to * @param buttonId * @param tag */ public ButtonAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to, int buttonId, String tag) { super(context, data, resource, from, to); this.data = data; this.buttonId = buttonId; this.tag = tag; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); ((View) view.findViewById(buttonId)).setTag(data.get(position).get(tag)); return view; } }