package com.radicaldynamic.groupinform.adapters; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import com.radicaldynamic.groupinform.R; import com.radicaldynamic.groupinform.application.Collect; import com.radicaldynamic.groupinform.documents.FormDefinition; import com.radicaldynamic.groupinform.documents.FormInstance; public class BrowserLongListAdapter extends ArrayAdapter<FormInstance> { private Map<String, FormDefinition> mFormDefinitions = new HashMap<String, FormDefinition>(); public BrowserLongListAdapter(Context context, int textViewResourceId, ArrayList<FormInstance> instances, ArrayList<FormDefinition> definitions) { super(context, textViewResourceId, instances); for (int i = 0; i < definitions.size(); i++) { mFormDefinitions.put(definitions.get(i).getId(), definitions.get(i)); } } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.browser_list_item, null); } FormInstance i = getItem(position); if (i == null) return v; ImageView icon = (ImageView) v.findViewById(R.id.icon); TextView topText = (TextView) v.findViewById(R.id.toptext); TextView bottomText = (TextView) v.findViewById(R.id.bottomtext); if (i.getStatus().equals(FormInstance.Status.draft)) icon.setImageDrawable(Collect.getInstance().getResources().getDrawable(R.drawable.to_do_list_checked1)); else if (i.getStatus().equals(FormInstance.Status.complete)) icon.setImageDrawable(Collect.getInstance().getResources().getDrawable(R.drawable.to_do_list_checked3)); topText.setText(mFormDefinitions.get(i.getFormId()).getName()); if (i.getName() == null) bottomText.setText(""); else bottomText.setText(i.getName()); return v; } }