Advertisement
andoird213

CursorAdapterNutrition.java

Jun 12th, 2013
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.63 KB | None | 0 0
  1. package com.andreww.hale;
  2.  
  3. import java.util.Calendar;
  4.  
  5. import android.content.Context;
  6. import android.database.Cursor;
  7. import android.view.LayoutInflater;
  8. import android.view.View;
  9. import android.view.ViewGroup;
  10. import android.widget.*;
  11.  
  12. import com.andreww.hale.TimeUtils;
  13.  
  14. public class CursorAdapterNutrition extends CursorAdapter {
  15.  
  16.     public CursorAdapterNutrition(Context context, Cursor c, boolean autoRequery) {
  17.         super(context, c, autoRequery);
  18.         this.context = context;
  19.     }
  20.  
  21.     private Context context;
  22.  
  23.     @Override
  24.     public View newView(Context context, Cursor cursor, ViewGroup parent) {
  25.         return LayoutInflater.from(parent.getContext()).inflate(R.layout.card_nutrition, parent, false);
  26.     }
  27.  
  28.     @Override
  29.     public void bindView(View view, Context context, Cursor cursor) {
  30.         TextView mTitle = (TextView) view.findViewById(R.id.title);
  31.         String mFoodString = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(1)));
  32.         long mWaterLong = cursor.getLong(7);
  33.         int mWaterLength = String.valueOf(mWaterLong).length();
  34.         String mWaterString = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(7)));
  35.  
  36.         TextView mCalories = (TextView) view.findViewById(R.id.calories);
  37.         String mCaloriesString = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(2)));
  38.        
  39.  
  40.         TextView mProtein = (TextView) view.findViewById(R.id.protein);
  41.         String mProteinString = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(3)));
  42.  
  43.         TextView mSugar = (TextView) view.findViewById(R.id.sugar);
  44.         String mSugarString = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(4)));
  45.        
  46.         TextView mDate = (TextView) view.findViewById(R.id.date);
  47.         long mFriendlyTime = cursor.getLong(5);
  48.         String mDateText = TimeUtils.getFriendlyTime(mFriendlyTime);
  49.        
  50.         //if(mFoodString.length() != 0 && mFoodString.length() > 2) {
  51.             //mTitle.setText(mFoodString);
  52.         /*} else */ if(cursor.getLong(7) == 50) {
  53.             mTitle.setText(mWaterString);
  54.         } else {
  55.             mTitle.setVisibility(8);
  56.         }
  57.         if(cursor.getLong(2) == -1) {
  58.             mCalories.setVisibility(8);
  59.         } else {
  60.             mCalories.setText(mCaloriesString + " kcal");
  61.         }
  62.         if(cursor.getLong(3) == -1) {
  63.             mProtein.setVisibility(8);
  64.         } else {
  65.             mProtein.setText(mProteinString + " g of Protein");
  66.         }
  67.         if(cursor.getLong(4) == -1) {
  68.             mProtein.setVisibility(8);
  69.         } else {
  70.             mSugar.setText(mSugarString + " g of Sugar");
  71.         }
  72.         mDate.setText(mDateText);
  73.        
  74.         setupMenu(view);
  75.     }
  76.    
  77.     private void setupMenu(View view) {
  78.         final ImageButton menu = (ImageButton) view.findViewById(R.id.menu);
  79.         menu.setOnClickListener(new View.OnClickListener() {
  80.             @Override
  81.             public void onClick(View v) {
  82.                 String[] mItems = context.getResources().getStringArray(R.array.nutrition_popup);
  83.                 ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, android.R.layout.simple_dropdown_item_1line, mItems);
  84.                 ListPopupWindow mPopup = new ListPopupWindow(context);
  85.                 mPopup.setAnchorView(menu);
  86.                 mPopup.setAdapter(adapter);
  87.                 mPopup.setWidth(context.getResources().getDimensionPixelSize(R.dimen.nutrition_popup)); // edit in dimens.xml
  88.                 mPopup.setPromptPosition(1);
  89.                 mPopup.show();
  90.             }
  91.  
  92.         });
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement