From cba1010a611198eeaf6d9365e4058f797820ea74 Mon Sep 17 00:00:00 2001 From: BL-CoderOvertime Date: Thu, 18 Apr 2019 01:34:00 -0400 Subject: [PATCH 01/11] refactored the parent fragment structure, had issues getting fragments to update using viewPager. --- .idea/misc.xml | 2 +- .../example/gigapet/AddFoodListAdapter.java | 82 +++ .../java/com/example/gigapet/Constants.java | 4 + .../com/example/gigapet/DrawableResolver.java | 34 +- .../com/example/gigapet/FoodIconAdapter.java | 2 - .../main/java/com/example/gigapet/Parent.java | 18 + .../example/gigapet/ParentMainActivity.java | 479 ++++++++++-------- .../main/res/layout/activity_parent_main.xml | 49 +- .../main/res/layout/food_add_item_layout.xml | 57 +++ .../layout/fragment_parent_food_config.xml | 410 ++------------- .../res/layout/fragment_parent_history.xml | 49 +- app/src/main/res/menu/menu_parent_main.xml | 40 +- 12 files changed, 608 insertions(+), 618 deletions(-) create mode 100644 app/src/main/java/com/example/gigapet/AddFoodListAdapter.java create mode 100644 app/src/main/res/layout/food_add_item_layout.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 37a7509..7bfef59 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + diff --git a/app/src/main/java/com/example/gigapet/AddFoodListAdapter.java b/app/src/main/java/com/example/gigapet/AddFoodListAdapter.java new file mode 100644 index 0000000..2d1611d --- /dev/null +++ b/app/src/main/java/com/example/gigapet/AddFoodListAdapter.java @@ -0,0 +1,82 @@ +package com.example.gigapet; + +import android.app.Activity; +import android.content.Context; +import android.content.res.Resources; +import android.support.annotation.NonNull; +import android.support.v7.widget.RecyclerView; +import android.util.DisplayMetrics; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import java.util.ArrayList; + +public class AddFoodListAdapter extends RecyclerView.Adapter { + + public AddFoodListAdapter(){ + + } + + class ViewHolder extends RecyclerView.ViewHolder { + Context context; + ImageView ivMinusButton; + ImageView ivPlusButton; + ImageView ivFoodImage; + ImageView ivFoodBackground; + TextView tvFoodAmount; + View vParentView; + + public ViewHolder(@NonNull View itemView) { + super(itemView); + ivFoodBackground = itemView.findViewById(R.id.iv_food); + ivFoodImage = itemView.findViewById(R.id.iv_food_icon); + tvFoodAmount = itemView.findViewById(R.id.tv_num); + ivMinusButton = itemView.findViewById(R.id.iv_button_food_minus); + ivPlusButton = itemView.findViewById(R.id.iv_button_food_plus); + vParentView = itemView.findViewById(R.id.recycler_view_item_add_food); + } + } + @NonNull + @Override + public AddFoodListAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) { + View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.food_add_item_layout, parent, false); + return new ViewHolder(v); + } + + @Override + public void onBindViewHolder(@NonNull AddFoodListAdapter.ViewHolder viewHolder, int i) { + + int[] foodAmountArr = ChildDao.getCurrentChild().getAllFood(); + + viewHolder.tvFoodAmount.setText(String.valueOf(foodAmountArr[i])); + viewHolder.ivFoodImage.setImageResource(DrawableResolver.getDrawableImageIcon(i)); + viewHolder.ivFoodBackground.setImageResource(DrawableResolver.getDrawableIcon(i)); + final int position = i; + viewHolder.ivMinusButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (ChildDao.getCurrentChild().getFoodById(position) > 0) { + ChildDao.getCurrentChild().removeFood(position, 1); + notifyDataSetChanged(); + } + } + }); + viewHolder.ivPlusButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ChildDao.getCurrentChild().addFood(position, 1); + notifyDataSetChanged(); + } + }); + + } + + @Override + public int getItemCount() { + return 6; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/gigapet/Constants.java b/app/src/main/java/com/example/gigapet/Constants.java index c8a9e1d..7433e04 100644 --- a/app/src/main/java/com/example/gigapet/Constants.java +++ b/app/src/main/java/com/example/gigapet/Constants.java @@ -8,6 +8,10 @@ public class Constants { public static int FOOD_TYPE_PROTEIN = 3; public static int FOOD_TYPE_DAIRY = 4; public static int FOOD_TYPE_SWEET = 5; + public static int MEAL_TYPE_ALL = 0; + public static int MEAL_TYPE_BREAKFAST = 1; + public static int MEAL_TYPE_LUNCH = 2; + public static int MEAL_TYPE_DINNER = 3; public static String[] MEAL_TYPES = {"All Meals", "Breakfast", "Lunch", "Dinner"}; diff --git a/app/src/main/java/com/example/gigapet/DrawableResolver.java b/app/src/main/java/com/example/gigapet/DrawableResolver.java index 25fcd68..777bd68 100644 --- a/app/src/main/java/com/example/gigapet/DrawableResolver.java +++ b/app/src/main/java/com/example/gigapet/DrawableResolver.java @@ -40,7 +40,7 @@ public static int[] getDrawableId(int category) { return drawable; } - public static int getDrawableIcon(int category) { + public static int getDrawableIcon(int category) { int drawable; try { switch (category) { @@ -60,7 +60,38 @@ public static int getDrawableIcon(int category) { drawable = R.drawable.protein_icon; break; case 5: + drawable = R.drawable.treat_icon_square; + break; + default: drawable = R.drawable.protein_icon; + } + } catch (ArrayIndexOutOfBoundsException e) { + drawable = R.drawable.protein_icon; + } + return drawable; + } + + public static int getDrawableImageIcon(int category) { + int drawable; + try { + switch (category) { + case 0: + drawable = R.drawable.fruit_apple; + break; + case 1: + drawable = R.drawable.veggie_corn; + break; + case 2: + drawable = R.drawable.veggie_eggplant; + break; + case 3: + drawable = R.drawable.treats_cupcake; + break; + case 4: + drawable = R.drawable.treats_icecream_choc; + break; + case 5: + drawable = R.drawable.treats_donut; break; default: drawable = R.drawable.protein_icon; @@ -72,6 +103,7 @@ public static int getDrawableIcon(int category) { } + public static final int[] fruits = new int[]{ R.drawable.fruit_apple}; diff --git a/app/src/main/java/com/example/gigapet/FoodIconAdapter.java b/app/src/main/java/com/example/gigapet/FoodIconAdapter.java index 5ceb146..33040ba 100644 --- a/app/src/main/java/com/example/gigapet/FoodIconAdapter.java +++ b/app/src/main/java/com/example/gigapet/FoodIconAdapter.java @@ -58,8 +58,6 @@ public void onBindViewHolder(@NonNull FoodIconAdapter.ViewHolder viewHolder, int final FoodIcons data = foodIcons.get(i); DisplayMetrics displayMetrics = Resources.getSystem().getDisplayMetrics(); - // viewHolder.vParentView.setLayoutParams(new ViewGroup.LayoutParams(displayMetrics.widthPixels/3,displayMetrics.widthPixels/3)); - foodIcons.clear(); int[] foodAmountArr = ChildDao.getCurrentChild().getAllFood(); for (int j = 0; j < 5; ++j) { diff --git a/app/src/main/java/com/example/gigapet/Parent.java b/app/src/main/java/com/example/gigapet/Parent.java index 0572a27..950e72b 100644 --- a/app/src/main/java/com/example/gigapet/Parent.java +++ b/app/src/main/java/com/example/gigapet/Parent.java @@ -4,6 +4,7 @@ public class Parent { private static int id; + private static int mealIndex; private static String token; private static String name; private static int currentChildIndex; @@ -17,9 +18,26 @@ public static void setChildIndex(int childIndex) { currentChildIndex = childIndex; } + public static int getCurrentChildIndex() { + return currentChildIndex; + } + + public static void setCurrentChildIndex(int currentChildIndex) { + Parent.currentChildIndex = currentChildIndex; + } + + public static int getMealIndex() { + return mealIndex; + } + + public static void setMealIndex(int mealIndex) { + Parent.mealIndex = mealIndex; + } + public Parent(int id, String token) { this.id = id; this.token = token; + this.mealIndex = 1; //TODO: load children from database ChildDao.addChild(new Child("SteveJr",1)); currentChildIndex = 1; diff --git a/app/src/main/java/com/example/gigapet/ParentMainActivity.java b/app/src/main/java/com/example/gigapet/ParentMainActivity.java index 1d40c97..55622cc 100644 --- a/app/src/main/java/com/example/gigapet/ParentMainActivity.java +++ b/app/src/main/java/com/example/gigapet/ParentMainActivity.java @@ -1,6 +1,12 @@ package com.example.gigapet; +import android.content.Context; +import android.graphics.Color; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; @@ -16,6 +22,7 @@ import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.Spinner; import android.widget.TextView; @@ -26,25 +33,112 @@ import org.json.JSONObject; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.zip.Inflater; +import lecho.lib.hellocharts.model.PieChartData; +import lecho.lib.hellocharts.model.SliceValue; +import lecho.lib.hellocharts.view.PieChartView; + public class ParentMainActivity extends AppCompatActivity { - private SectionsPagerAdapter mSectionsPagerAdapter; - private ViewPager mViewPager; - private static int spinnerChildCurrentSelection; - private static int spinnerMealTypeCurrentSelection; + static GraphView graphView; + static PieChartView pieChartView; + static int fragmentCounter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_parent_main); + fragmentCounter = 1; Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); - mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); - mViewPager = (ViewPager) findViewById(R.id.container); - mViewPager.setAdapter(mSectionsPagerAdapter); + + Button foodButton = findViewById(R.id.food_config_button); + foodButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + loadAddFoodFragment(); + } + }); + + Button dailyHistoryButton = findViewById(R.id.daily_button); + dailyHistoryButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + loadDailyFragment(); + } + }); + + Button monthlyHistoryButton = findViewById(R.id.monthly_button); + monthlyHistoryButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + loadMonthlyFragment(); + } + }); + + Button weeklyHistoryButton = findViewById(R.id.weekly_button); + weeklyHistoryButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + loadWeeklyFragment(); + } + }); + + + } + + public void loadWeeklyFragment() { + fragmentCounter = 3; + Bundle arguments = new Bundle(); + arguments.putString(WeeklyHistoryFragment.ARG_ITEM_ID, + getIntent().getStringExtra(WeeklyHistoryFragment.ARG_ITEM_ID)); + WeeklyHistoryFragment fragment = new WeeklyHistoryFragment(); + fragment.setArguments(arguments); + getSupportFragmentManager().beginTransaction() + .add(R.id.container, fragment) + .commit(); + } + + public void loadMonthlyFragment() { + fragmentCounter = 4; + Bundle arguments = new Bundle(); + arguments.putString(MonthlyHistoryFragment.ARG_ITEM_ID, + getIntent().getStringExtra(MonthlyHistoryFragment.ARG_ITEM_ID)); + MonthlyHistoryFragment fragment = new MonthlyHistoryFragment(); + fragment.setArguments(arguments); + getSupportFragmentManager().beginTransaction() + .add(R.id.container, fragment) + .commit(); + } + + public void loadDailyFragment() { + fragmentCounter = 2; + Bundle arguments = new Bundle(); + arguments.putString(DailyHistoryFragment.ARG_ITEM_ID, + getIntent().getStringExtra(DailyHistoryFragment.ARG_ITEM_ID)); + DailyHistoryFragment fragment = new DailyHistoryFragment(); + fragment.setArguments(arguments); + getSupportFragmentManager().beginTransaction() + .add(R.id.container, fragment) + .commit(); + } + + public void loadAddFoodFragment() { + fragmentCounter = 1; + Bundle arguments = new Bundle(); + arguments.putString(AddFoodFragment.ARG_ITEM_ID, + getIntent().getStringExtra(AddFoodFragment.ARG_ITEM_ID)); + AddFoodFragment fragment = new AddFoodFragment(); + fragment.setArguments(arguments); + getSupportFragmentManager().beginTransaction() + .add(R.id.container, fragment) + .commit(); } @Override @@ -56,245 +150,206 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); - if (id == R.id.action_settings) { - return true; + switch (id) { + case R.id.action_select_child: + break; + case R.id.action_add_child: + break; + case R.id.action_remove_child: + break; + case R.id.action_mealtype_all: + Parent.setMealIndex(Constants.MEAL_TYPE_ALL); + break; + case R.id.action_mealtype_breakfast: + Parent.setMealIndex(Constants.MEAL_TYPE_BREAKFAST); + break; + case R.id.action_mealtype_lunch: + Parent.setMealIndex(Constants.MEAL_TYPE_LUNCH); + break; + case R.id.action_mealtype_dinner: + Parent.setMealIndex(Constants.MEAL_TYPE_DINNER); + break; } return super.onOptionsItemSelected(item); } - public static class PlaceholderFragment extends Fragment { - static GraphView graphView; - private static final String ARG_SECTION_NUMBER = "section_number"; - public PlaceholderFragment() { - } - public static PlaceholderFragment newInstance(int sectionNumber) { - PlaceholderFragment fragment = new PlaceholderFragment(); - Bundle args = new Bundle(); - args.putInt(ARG_SECTION_NUMBER, sectionNumber); - fragment.setArguments(args); - return fragment; + public static void loadHistoryData() { + //TODO: pull in history data based on currentChildIndex + //JSONObject jsonObject = ChildDao.getFoodHistory(); + + switch (fragmentCounter) { + case 1: + break; + case 2: //load daily data + break; + case 3: //load weekly data + break; + case 4: //load monthly data + break; } - public static void loadHistoryData(int mealPos, int childPos) { - //TODO: pull in history data based on currentChildIndex - JSONObject jsonObject = ChildDao.getFoodHistory(mealPos, childPos); - switch (mealPos) { - case 0: - break; - case 1: - break; - case 2: - break; - } - LineGraphSeries series1 = new LineGraphSeries<>(new DataPoint[]{ - new DataPoint(0,2), - new DataPoint(1,4), - new DataPoint(2,3), - new DataPoint(3,5), - new DataPoint(4,2), - new DataPoint(5,3), - new DataPoint(6,2) - }); - - LineGraphSeries series2 = new LineGraphSeries<>(new DataPoint[]{ - new DataPoint(0,1), - new DataPoint(1,6), - new DataPoint(2,2), - new DataPoint(3,3), - new DataPoint(4,6), - new DataPoint(5,2), - new DataPoint(6,1) - }); - graphView.addSeries(series1); - graphView.addSeries(series2); - graphView.getViewport().setMaxX(6); - graphView.getViewport().setXAxisBoundsManual(true); + + LineGraphSeries series3 = new LineGraphSeries<>(); + switch (Parent.getMealIndex()) { + case 0: + break; + case 1: + series3 = new LineGraphSeries<>(new DataPoint[]{ + new DataPoint(0, 2), + new DataPoint(1, 4), + new DataPoint(2, 3), + new DataPoint(3, 5), + new DataPoint(4, 2), + new DataPoint(5, 3), + new DataPoint(6, 2)}); + break; + case 2: + break; } + List pieData = new ArrayList<>(); + pieData.add(new SliceValue(34, Color.YELLOW)); + pieData.add(new SliceValue(34, Color.BLUE)); + pieData.add(new SliceValue(20, Color.RED)); + pieData.add(new SliceValue(54, Color.GREEN)); + + PieChartData pieChartData = new PieChartData(pieData); + + pieChartView.setPieChartData(pieChartData); + + LineGraphSeries series1 = new LineGraphSeries<>(new DataPoint[]{ + new DataPoint(0, 2), + new DataPoint(1, 4), + new DataPoint(2, 3), + new DataPoint(3, 5), + new DataPoint(4, 2), + new DataPoint(5, 3), + new DataPoint(6, 2) + }); + + LineGraphSeries series2 = new LineGraphSeries<>(new DataPoint[]{ + new DataPoint(0, 1), + new DataPoint(1, 6), + new DataPoint(2, 2), + new DataPoint(3, 3), + new DataPoint(4, 6), + new DataPoint(5, 2), + new DataPoint(6, 1) + }); + graphView.addSeries(series1); + graphView.addSeries(series2); + graphView.addSeries(series3); + graphView.getViewport().setMaxX(6); + graphView.getViewport().setXAxisBoundsManual(true); + } + + + public static class AddFoodFragment extends Fragment { + public static final String ARG_ITEM_ID = "item_id"; + AddFoodListAdapter listAdapter; + RecyclerView recyclerView; + public AddFoodFragment() { + } + @Nullable @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View rootView; - TextView textView; - if (getArguments().getInt(ARG_SECTION_NUMBER) != 1) { - rootView = inflater.inflate(R.layout.fragment_parent_history, container, false); - textView = rootView.findViewById(R.id.tv_history_time); - graphView = rootView.findViewById(R.id.gv_line_graph); - - loadHistoryData(setMealSpinner(rootView).getSelectedItemPosition(), setChildSpinner(rootView).getSelectedItemPosition()); - - String fragmentTitle = "default"; - switch (getArguments().getInt(ARG_SECTION_NUMBER)) { - case 2: - fragmentTitle = "Daily"; - break; - case 3: - fragmentTitle = "Weekly"; - break; - case 4: - fragmentTitle = "Monthly"; - break; - } - textView.setText(fragmentTitle); - loadHistoryData(setMealSpinner(rootView).getSelectedItemPosition(), setChildSpinner(rootView).getSelectedItemPosition()); - } else { - rootView = inflater.inflate(R.layout.fragment_parent_food_config, container, false); - - - - ImageView ivFruitPlus = rootView.findViewById(R.id.iv_button_fruit_plus); - ImageView ivFruitMinus = rootView.findViewById(R.id.iv_button_fruit_minus); - final TextView tvFruitNum = rootView.findViewById(R.id.tv_fruit); - - int[] food = ChildDao.getCurrentChild().getAllFood(); - tvFruitNum.setText(String.valueOf(food[Constants.FOOD_TYPE_FRUIT])); - - ivFruitPlus.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - tvFruitNum.setText(String.valueOf(Integer.parseInt(tvFruitNum.getText().toString())+1)); - } - }); - - ivFruitMinus.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if(Integer.parseInt(tvFruitNum.getText().toString()) > 0) { - tvFruitNum.setText(String.valueOf(Integer.parseInt(tvFruitNum.getText().toString()) - 1)); - } - } - }); - - - ImageView ivVeggiePlus = rootView.findViewById(R.id.iv_button_veggie_plus); - ImageView ivVeggieMinus = rootView.findViewById(R.id.iv_button_veggie_minus); - TextView tvVeggieNum = rootView.findViewById(R.id.tv_veggie); - - ImageView ivCarbPlus = rootView.findViewById(R.id.iv_button_carb_plus); - ImageView ivCarbMinus = rootView.findViewById(R.id.iv_button_carb_minus); - TextView tvCarbNum = rootView.findViewById(R.id.tv_carb); - - ImageView ivDairyPlus = rootView.findViewById(R.id.iv_button_dairy_plus); - ImageView ivDairyMinus = rootView.findViewById(R.id.iv_button_dairy_minus); - TextView tvDairyNum = rootView.findViewById(R.id.tv_dairy); - - ImageView ivProteinPlus = rootView.findViewById(R.id.iv_button_protein_plus); - ImageView ivProteinMinus = rootView.findViewById(R.id.iv_button_protein_minus); - TextView tvProteinNum = rootView.findViewById(R.id.tv_protein); - - ImageView ivTreatPlus = rootView.findViewById(R.id.iv_button_treat_plus); - ImageView ivTreatMinus = rootView.findViewById(R.id.iv_button_treat_minus); - TextView tvTreatNum = rootView.findViewById(R.id.tv_treat); - - - - - Spinner childSpinner = setChildSpinner(rootView); - Spinner mealSpinner = setMealSpinner(rootView); + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } - } + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_parent_food_config, container, false); + graphView = rootView.findViewById(R.id.gv_line_graph); + recyclerView = rootView.findViewById(R.id.recycler_view_parent_add_food); + recyclerView.setHasFixedSize(true); + listAdapter = new AddFoodListAdapter(); + LinearLayoutManager layoutManager = new LinearLayoutManager(rootView.getContext()); + + recyclerView.setAdapter(listAdapter); + recyclerView.setLayoutManager(layoutManager); return rootView; } + } - public void updateFoodCount(){ - int[] food = ChildDao.getCurrentChild().getAllFood(); - //tvFruitNum.setText(String.valueOf(food[Constants.FOOD_TYPE_FRUIT])); - } - public Spinner setChildSpinner(final View root){ - final String[] namesArr = new String[Parent.getChildrensNamesAsArray().length + 1]; - for (int i = 0; i < Parent.getChildrensNamesAsArray().length; ++i) { - namesArr[i] = Parent.getChildrensNamesAsArray()[i]; - } - namesArr[Parent.getChildrensNamesAsArray().length] = "Add New Child"; - final ArrayAdapter spinnerChildArrayAdapter = new ArrayAdapter<>(getContext(),android.R.layout.simple_spinner_item,namesArr); - spinnerChildArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - final Spinner spinner; - if(getArguments().getInt(ARG_SECTION_NUMBER) == 1){ - spinner = root.findViewById(R.id.spinner_child_select); - }else{spinner = root.findViewById(R.id.spinner_child_select_history);} - - spinner.setAdapter(spinnerChildArrayAdapter); - - spinner.setSelection(spinnerChildCurrentSelection); - - spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected(AdapterView parent, View view, int position, long id) { - spinnerChildCurrentSelection = position; - if(position == namesArr.length-1){ - final EditText etChildName = root.findViewById(R.id.et_add_child); - final Button button = root.findViewById(R.id.button_add_child); - //TODO: null object reference - etChildName.setVisibility(View.VISIBLE); - button.setVisibility(View.VISIBLE); - button.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - ChildDao.addChild(new Child(etChildName.getText().toString(), ChildDao.getHighestId()+1)); - Parent.setChildIndex(ChildDao.getHighestId()); - button.setVisibility(View.GONE); - etChildName.setVisibility(View.GONE); - setChildSpinner(root); - spinnerChildArrayAdapter.notifyDataSetChanged(); - } - }); - - }else {Parent.setChildIndex(position);} - } - @Override - public void onNothingSelected(AdapterView parent) { - } - }); - return spinner; + public static class DailyHistoryFragment extends Fragment { + public static final String ARG_ITEM_ID = "item_id"; + + public DailyHistoryFragment() { } - public Spinner setMealSpinner(View root){ - final ArrayAdapter spinnerMealArrayAdapter = new ArrayAdapter<>(getContext(),android.R.layout.simple_spinner_item,Constants.MEAL_TYPES); - spinnerMealArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - final Spinner spinner; - if(getArguments().getInt(ARG_SECTION_NUMBER) == 1) { - spinner = root.findViewById(R.id.spinner_meal_type_food_config); - }else{spinner = root.findViewById(R.id.spinner_meal_type);} - spinner.setAdapter(spinnerMealArrayAdapter); - spinner.setSelection(spinnerMealTypeCurrentSelection); - - spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected(AdapterView parent, View view, int position, long id) { - spinnerMealTypeCurrentSelection = position; - spinnerMealArrayAdapter.notifyDataSetChanged(); - } - @Override - public void onNothingSelected(AdapterView parent) { - } - }); - return spinner; + @Nullable + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); } + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_parent_history, container, false); + graphView = rootView.findViewById(R.id.gv_line_graph); + pieChartView = rootView.findViewById(R.id.pc_pie_chart); + loadHistoryData(); + + + return rootView; + } } - public class SectionsPagerAdapter extends FragmentPagerAdapter { - public SectionsPagerAdapter(FragmentManager fm) { - super(fm); + public static class WeeklyHistoryFragment extends Fragment { + public static final String ARG_ITEM_ID = "item_id"; + + public WeeklyHistoryFragment() { } + @Nullable @Override - public Fragment getItem(int position) { - return PlaceholderFragment.newInstance(position + 1); + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); } + @Nullable @Override - public int getCount() { - return 4; + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_parent_history, container, false); + graphView = rootView.findViewById(R.id.gv_line_graph); + pieChartView = rootView.findViewById(R.id.pc_pie_chart); + loadHistoryData(); + + return rootView; } } + public static class MonthlyHistoryFragment extends Fragment { + public static final String ARG_ITEM_ID = "item_id"; + + public MonthlyHistoryFragment() { + } + + @Nullable + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_parent_history, container, false); + graphView = rootView.findViewById(R.id.gv_line_graph); + pieChartView = rootView.findViewById(R.id.pc_pie_chart); + loadHistoryData(); + + return rootView; + } + } } + diff --git a/app/src/main/res/layout/activity_parent_main.xml b/app/src/main/res/layout/activity_parent_main.xml index 2de9025..6467b7f 100644 --- a/app/src/main/res/layout/activity_parent_main.xml +++ b/app/src/main/res/layout/activity_parent_main.xml @@ -1,5 +1,5 @@ - +