From a0d34e04d90e12e14a3c42d00dacf7392e8542c4 Mon Sep 17 00:00:00 2001 From: ScorpioMiku <1056992492@qq.com> Date: Fri, 9 Nov 2018 10:13:50 +0800 Subject: [PATCH] 1 --- .../nutritionmaster/NutritionMaster.java | 1 + .../adapter/IllnessHolder.java | 10 +++++++- .../nutritionmaster/modules/MainActivity.java | 25 ++++++++++++++++--- .../BodyInformationFragment.java | 2 +- .../nutritionmaster/utils/CalculateUtils.java | 3 ++- .../nutritionmaster/utils/ConstantUtils.java | 10 ++++++++ 6 files changed, 45 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java index 7d38c6e..9e9246c 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java @@ -50,6 +50,7 @@ public class NutritionMaster extends Application { public static Occupation occupation = null; public static Element element = null; public static Illness illness = null; + public static int flavourCount = 0; public static Element calculatedElement = null; diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/IllnessHolder.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/IllnessHolder.java index 1d64d41..886dcb2 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/IllnessHolder.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/IllnessHolder.java @@ -7,8 +7,12 @@ import android.view.View; import android.widget.Adapter; import android.widget.TextView; +import com.example.ninefourone.nutritionmaster.NutritionMaster; import com.example.ninefourone.nutritionmaster.R; import com.example.ninefourone.nutritionmaster.bean.Illness; +import com.example.ninefourone.nutritionmaster.utils.ConstantUtils; +import com.orhanobut.logger.Logger; + import butterknife.BindView; import butterknife.ButterKnife; @@ -29,7 +33,7 @@ public class IllnessHolder extends RecyclerView.ViewHolder { this.adapter = adapter; } - public void bindView(String illness, final int position) { + public void bindView(final String illness, final int position) { text.setText(illness); text.setOnClickListener(new View.OnClickListener() { @Override @@ -46,6 +50,10 @@ public class IllnessHolder extends RecyclerView.ViewHolder { @Override public void onClick(DialogInterface dialog, int which) { adapter.deleteItem(position); + if (ConstantUtils.getFlavour().contains(illness)) { + NutritionMaster.flavourCount -= (ConstantUtils.getFlavour().indexOf(illness) + 1); +// Logger.d(NutritionMaster.flavourCount); + } } }); diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java index af3279b..edf2b42 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java @@ -63,6 +63,8 @@ import com.orhanobut.logger.Logger; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; import butterknife.BindView; @@ -147,7 +149,9 @@ public class MainActivity extends BaseActivity { private OptionsPickerView illPicker; + private OptionsPickerView flavourPicker; private ArrayList illness = ConstantUtils.getIllness(); + private ArrayList flavours = ConstantUtils.getFlavour(); private ArrayList userIllness = new ArrayList<>(); private IllAdapter illAdapter; @@ -648,8 +652,9 @@ public class MainActivity extends BaseActivity { illRecyclerView.post(new Runnable() { @Override public void run() { - userIllness.add(illname); - illAdapter.notifyDataSetChanged(); + if (!userIllness.contains(illname)) { + userIllness.add(illname); + } illAdapter.notifyDataSetChanged(); if (NutritionMaster.occupation != null && NutritionMaster.physique != null) { NutritionMaster.element = CalculateUtils.getElementsAddIllness(NutritionMaster.illness, @@ -673,7 +678,21 @@ public class MainActivity extends BaseActivity { addFlavourButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - + flavourPicker = new OptionsPickerBuilder(MainActivity.this, new OnOptionsSelectListener() { + @Override + public void onOptionsSelect(int options1, int options2, int options3, View v) { + final String flavourString = flavours.get(options1); + if (!userIllness.contains(flavourString)) { + userIllness.add(flavourString); + } + NutritionMaster.flavourCount += (options1 + 1); +// Logger.d(NutritionMaster.flavourCount); + illAdapter.notifyDataSetChanged(); + } + }).build(); + flavourPicker.setPicker(flavours); + flavourPicker.setTitleText("请选择你喜欢的口味"); + flavourPicker.show(); } }); } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java index e3785bd..fb9f4bc 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java @@ -230,7 +230,7 @@ public class BodyInformationFragment extends BaseFragment { weightLineChart.setVisibility(View.INVISIBLE); } if (NutritionMaster.element != null) { - Logger.d(NutritionMaster.element); +// Logger.d(NutritionMaster.element); try { Element elementTemp = NutritionMaster.element.calculateData(NutritionMaster.user); float temp = (float) (elementTemp.getCalorie() - NutritionMaster.user.getEaten_elements().getCalorie()); diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/CalculateUtils.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/CalculateUtils.java index f9b37bf..d4fb040 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/CalculateUtils.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/CalculateUtils.java @@ -169,7 +169,8 @@ public class CalculateUtils { calories[i] = classifyResultArrayList.get(i).getCalorie(); } for (int i = 0; i < classifyResultArrayList.size(); i++) { - classifyResultArrayList.get(i).setQuantity(calories[i] / calorieSum * baseQuantity * factor); + classifyResultArrayList.get(i).setQuantity(calories[i] / calorieSum * baseQuantity * factor + + NutritionMaster.flavourCount * 5); } return classifyResultArrayList; } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java index c2ca140..b993c65 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java @@ -343,5 +343,15 @@ public class ConstantUtils { return arrayList; } + public static ArrayList getFlavour() { + ArrayList arrayList = new ArrayList<>(); + arrayList.add("苦"); + arrayList.add("甜"); + arrayList.add("咸"); + arrayList.add("辣"); + arrayList.add("酸"); + return arrayList; + } + public static String YOUDAO_APPKEY = "3ea8061348a6bdd6"; }