Android Open Source - cost-tracker Summary By Date






From Project

Back to project page cost-tracker.

License

The source code is released under:

GNU General Public License

If you think the Android project cost-tracker listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.helpguest.droid.ui;
/* w w  w  . j av a 2  s. c om*/
import java.util.Collection;
import java.util.Date;

import android.content.Context;
import android.graphics.Color;
import android.text.format.DateFormat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;

import com.helpguest.droid.R;
import com.helpguest.droid.tracker.IReadOnlyTrackerManager;
import com.helpguest.droid.tracker.ITracker;

public class SummaryByDate extends ArrayAdapter<Date> {

  private java.text.DateFormat DF;
  private IReadOnlyTrackerManager mTrackerManager;
  private Context mContext;
  private Date[] mDates;
    
  /**
   * 
   * @param context the application context
   * @param the dates to use to select which trackers and dates to display
   * @param trackerManager which interfaces with the data store
   */
  public SummaryByDate(Context context, Collection<Date> dates, IReadOnlyTrackerManager trackerManager) {
    super(context, R.layout.list_view_summary_by_date, dates.toArray(new Date[0]));
    mTrackerManager = trackerManager;
    mContext = context;
    mDates = dates.toArray(new Date[0]);

    DF = DateFormat.getDateFormat(mContext);    
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {  
    LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    TClockSummary tcSummary = new TClockSummary();
    tcSummary.header = (LinearLayout) inflater.inflate(R.layout.layout_tracker_summary_by_date, parent, false);
    
    Collection<ITracker> trackers = mTrackerManager.getTrackers(getItem(position));
    if (trackers == null) {
      //Early return, no content
      return new LinearLayout(mContext);
    }

    TextView textViewDate = (TextView) tcSummary.header.findViewById(R.id.SBDdate);
    textViewDate.setText(DF.format(getItem(position)));
    textViewDate.setTextColor(Color.BLACK);

    tcSummary.rows = (ListView) tcSummary.header.findViewById(R.id.listViewSBDTrackers);
    tcSummary.rows.setAdapter(new ClockSummary(mContext, trackers, mDates[position]));
    tcSummary.header.removeAllViews();
    tcSummary.header.addView(tcSummary.rows);

//    for (ITracker t : trackers) {
//      tcSummary.header.addView(createRow(tcSummary.header, t, getItem(position)));
//    }

    return tcSummary.header;
  }

  
    
  class TClockSummary {
    LinearLayout header;
    ListView rows;
  }  
        
}




Java Source Code List

com.helpguest.droid.TrackerCollectionFragment.java
com.helpguest.droid.TrackerEditorFragment.java
com.helpguest.droid.TrackerLogFragment.java
com.helpguest.droid.TrackerManagerActivity.java
com.helpguest.droid.tracker.IReadOnlyTrackerManager.java
com.helpguest.droid.tracker.ITrackerClock.java
com.helpguest.droid.tracker.ITrackerManager.java
com.helpguest.droid.tracker.ITracker.java
com.helpguest.droid.tracker.InMemoryTrackerManager.java
com.helpguest.droid.tracker.OnTrackerManagerChangeListener.java
com.helpguest.droid.tracker.PersistentTrackerManager.java
com.helpguest.droid.tracker.SimpleTracker.java
com.helpguest.droid.tracker.TrackerClock.java
com.helpguest.droid.tracker.TrackerEvent.java
com.helpguest.droid.tracker.io.ITrackerReader.java
com.helpguest.droid.tracker.io.ITrackerWriter.java
com.helpguest.droid.tracker.io.TrackerFileReader.java
com.helpguest.droid.tracker.io.TrackerFileWriter.java
com.helpguest.droid.ui.ClockDetailByDate.java
com.helpguest.droid.ui.ClockSummary.java
com.helpguest.droid.ui.SummaryByDate.java
com.helpguest.droid.ui.TrackerClockEditor.java