This commit is contained in:
ScorpioMiku
2018-11-09 10:13:50 +08:00
parent a19f3347b7
commit a0d34e04d9
6 changed files with 45 additions and 6 deletions

View File

@@ -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;

View File

@@ -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);
}
}
});

View File

@@ -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<String> illness = ConstantUtils.getIllness();
private ArrayList<String> flavours = ConstantUtils.getFlavour();
private ArrayList<String> 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();
}
});
}

View File

@@ -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());

View File

@@ -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;
}

View File

@@ -343,5 +343,15 @@ public class ConstantUtils {
return arrayList;
}
public static ArrayList<String> getFlavour() {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("");
arrayList.add("");
arrayList.add("");
arrayList.add("");
arrayList.add("");
return arrayList;
}
public static String YOUDAO_APPKEY = "3ea8061348a6bdd6";
}