package edu.stanford.cs.sujogger.util; import android.content.Context; import android.database.Cursor; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CursorAdapter; import android.widget.ImageView; import android.widget.TextView; import edu.stanford.cs.sujogger.R; public class TrackListAdapter extends CursorAdapter { public TrackListAdapter(Context context, Cursor c) { super(context, c); } public TrackListAdapter(Context context, Cursor c, boolean autoRequery) { super(context, c, autoRequery); } @Override public void bindView(View view, Context context, Cursor cursor) { String title = cursor.getString(1); long creationTime = cursor.getLong(2); String duration = cursor.getString(3); String distance = cursor.getString(4); int trackId = cursor.getInt(5); int userId = cursor.getInt(6); int myUserId = Common.getRegisteredUser(context).id; TextView titleView = (TextView)view.findViewById(R.id.listitem_name); titleView.setText(title); TextView dateView = (TextView)view.findViewById(R.id.listitem_from); if (userId == myUserId) dateView.setText(Common.dateString(creationTime)); else { String firstName = cursor.getString(8); String lastName = cursor.getString(9); dateView.setText(firstName + " " + lastName); } DistanceView distanceView = (DistanceView)view.findViewById(R.id.listitem_distance); distanceView.setText(distance); DurationView durationView = (DurationView)view.findViewById(R.id.listitem_duration); durationView.setText(duration); ImageView iconView = (ImageView)view.findViewById(R.id.listitem_icon); if (trackId > 0 && userId == myUserId) iconView.setVisibility(View.VISIBLE); else iconView.setVisibility(View.GONE); } @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { final View v = LayoutInflater.from(context).inflate(R.layout.trackitem, parent, false); bindView(v, context, cursor); return v; } }