package edu.mit.mitmobile2.shuttles; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import edu.mit.mitmobile2.R; import edu.mit.mitmobile2.objs.RouteItem.Stops; import edu.mit.mitmobile2.shuttles.ShuttlesStatusView.Position; import edu.mit.mitmobile2.shuttles.ShuttlesStatusView.ShuttleStatus; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; public class RouteStopsArrayAdapter extends ArrayAdapter<Stops> { Context ctx; List<Stops> mStops; //int nearest = 0; public RouteStopsArrayAdapter(Context context, int resource, int textViewResourceId, List<Stops> stops) { super(context, resource, textViewResourceId, stops); this.ctx = context; mStops = stops; } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.routes_row, null); } Stops s = (Stops) getItem(position); if (s != null) { TextView stopTV = (TextView) v.findViewById(R.id.routesRowStopTV); stopTV.setText(s.title); //////////// TextView nextTV = (TextView) v.findViewById(R.id.routesRowNextTV); Date d = new Date(); //d.setTime(s.next); d.setTime(s.next*1000); SimpleDateFormat df = new SimpleDateFormat("h:mm a"); //SimpleDateFormat df = (SimpleDateFormat) SimpleDateFormat.getDateInstance(SimpleDateFormat.SHORT); String formatted = df.format(d); nextTV.setText(formatted); //////////// ShuttlesStatusView statusView = (ShuttlesStatusView) v.findViewById(R.id.routesRowStatus); //routeIV.setImageResource(R.drawable.shuttle_stop_dot); Position shuttlePosition = Position.BETWEEN; // first stop if (position == 0) { shuttlePosition = Position.START; } // last stop if (position == (mStops.size()-1)) { shuttlePosition = Position.END; } statusView.setPosition(shuttlePosition); if (s.upcoming) { statusView.setStatus(ShuttleStatus.ON); nextTV.setTextAppearance(ctx, R.style.BoldRed); } else { statusView.setStatus(ShuttleStatus.OFF); nextTV.setTextAppearance(ctx, R.style.ListValue); } } return v; } }