Android Open Source - TaskButler Category List Adapter






From Project

Back to project page TaskButler.

License

The source code is released under:

GNU General Public License

If you think the Android project TaskButler 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

/*
 * CategoryListAdapter.java/*from  www . ja v a  2 s  .co  m*/
 *
 * Copyright 2012 Jonathan Hasenzahl, James Celona, Dhimitraq Jorgji
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package edu.worcester.cs499summer2012.adapter;

import java.util.ArrayList;

import android.app.Activity;
import android.graphics.Color;
import android.os.Build;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import edu.worcester.cs499summer2012.R;
import edu.worcester.cs499summer2012.task.Category;

public class CategoryListAdapter extends ArrayAdapter<Category> {
  /**************************************************************************
   * Static fields and methods                                              *
   **************************************************************************/
  
  static class ViewHolder {
    public View color;
    public TextView name;
  }
  
  /**************************************************************************
   * Private fields                                                         *
   **************************************************************************/
  
  private final Activity activity;
  private final ArrayList<Category> categories;
  private final int textViewResourceId;
  
  /**************************************************************************
   * Constructors                                                           *
   **************************************************************************/
  
  /**
   * Default constructor.
   * @param
   * @param
   */
  public CategoryListAdapter(Activity activity, int textViewResourceId, ArrayList<Category> categories) {
    super(activity, textViewResourceId, categories);
    this.activity = activity;
    this.categories = categories;
    this.textViewResourceId = textViewResourceId;
    setNotifyOnChange(true);
  }
  
  /**************************************************************************
   * Class methods                                                          *
   **************************************************************************/
  
  public View getCustomView(int position, View convert_view, ViewGroup parent) {
    View view = convert_view;
    Category category = categories.get(position);
    
    if (view == null) {    
      LayoutInflater inflater = activity.getLayoutInflater();
      view = inflater.inflate(textViewResourceId, null);
      
      final ViewHolder view_holder = new ViewHolder();
      view_holder.color = (View) view.findViewById(R.id.view_row_category_color);
      view_holder.name = (TextView) view.findViewById(R.id.text_row_category_name);
      
      view.setTag(view_holder);
      view_holder.name.setTag(category);
    } else
      ((ViewHolder) view.getTag()).name.setTag(category); 

    ViewHolder holder = (ViewHolder) view.getTag();
    
    // Set color
    holder.color.setBackgroundColor(category.getColor());
    
    // Set name
    holder.name.setText(category.getName());
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB && 
        textViewResourceId == R.layout.row_category_small)
        holder.name.setTextColor(Color.BLACK);
    
    return view;
  }
  
  
  /**************************************************************************
   * Overridden parent methods                                              *
   **************************************************************************/
  
  @Override
  public View getView(int position, View convert_view, ViewGroup parent) {
    return getCustomView(position, convert_view, parent);
  }
  
  @Override
  public View getDropDownView(int position, View convertView, ViewGroup parent) {
  return getCustomView(position, convertView, parent);
  }
}




Java Source Code List

edu.worcester.cs499summer2012.activity.AddTaskActivity.java
edu.worcester.cs499summer2012.activity.BaseTaskActivity.java
edu.worcester.cs499summer2012.activity.CustomSortActivity.java
edu.worcester.cs499summer2012.activity.EditCategoriesActivity.java
edu.worcester.cs499summer2012.activity.EditTaskActivity.java
edu.worcester.cs499summer2012.activity.MainActivity.java
edu.worcester.cs499summer2012.activity.SettingsActivity.java
edu.worcester.cs499summer2012.activity.ViewTaskActivity.java
edu.worcester.cs499summer2012.adapter.CategoryListAdapter.java
edu.worcester.cs499summer2012.adapter.ComparatorListAdapter.java
edu.worcester.cs499summer2012.adapter.PriorityListAdapter.java
edu.worcester.cs499summer2012.adapter.TaskListAdapter.java
edu.worcester.cs499summer2012.comparator.TaskAutoComparator.java
edu.worcester.cs499summer2012.comparator.TaskCategoryComparator.java
edu.worcester.cs499summer2012.comparator.TaskCompletionComparator.java
edu.worcester.cs499summer2012.comparator.TaskDateCreatedComparator.java
edu.worcester.cs499summer2012.comparator.TaskDateDueComparator.java
edu.worcester.cs499summer2012.comparator.TaskDateModifiedComparator.java
edu.worcester.cs499summer2012.comparator.TaskNameComparator.java
edu.worcester.cs499summer2012.comparator.TaskPriorityComparator.java
edu.worcester.cs499summer2012.database.DatabaseHandler.java
edu.worcester.cs499summer2012.database.TasksDataSource.java
edu.worcester.cs499summer2012.service.NotificationHelper.java
edu.worcester.cs499summer2012.service.OnAlarmReceiver.java
edu.worcester.cs499summer2012.service.OnBootReceiver.java
edu.worcester.cs499summer2012.service.TaskAlarm.java
edu.worcester.cs499summer2012.service.TaskButlerService.java
edu.worcester.cs499summer2012.service.TaskButlerWidgetProvider.java
edu.worcester.cs499summer2012.service.WakefulIntentService.java
edu.worcester.cs499summer2012.task.BackupManager.java
edu.worcester.cs499summer2012.task.Category.java
edu.worcester.cs499summer2012.task.Comparator.java
edu.worcester.cs499summer2012.task.Task.java
edu.worcester.cs499summer2012.task.ToastMaker.java