diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/IllAdapter.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/IllAdapter.java new file mode 100644 index 0000000..225d2d1 --- /dev/null +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/IllAdapter.java @@ -0,0 +1,47 @@ +package com.example.ninefourone.nutritionmaster.adapter; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.ninefourone.nutritionmaster.R; +import com.example.ninefourone.nutritionmaster.bean.Illness; + +import java.util.List; + +/** + * Created by ScorpioMiku on 2018/10/6. + */ + +public class IllAdapter extends RecyclerView.Adapter { + private List mList; + private Context context; + + public IllAdapter(List mList, Context context) { + this.mList = mList; + this.context = context; + } + + @Override + public IllnessHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View v = LayoutInflater.from(context).inflate(R.layout.ill_item, parent, false); + return new IllnessHolder(v, this); + } + + @Override + public void onBindViewHolder(IllnessHolder holder, int position) { + holder.bindView(mList.get(position), position); + } + + @Override + public int getItemCount() { + return mList.size(); + } + + public void deleteItem(int position) { + mList.remove(position); + notifyDataSetChanged(); + } +} 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 0b85071..1d64d41 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 @@ -1,10 +1,14 @@ package com.example.ninefourone.nutritionmaster.adapter; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.support.v7.widget.RecyclerView; import android.view.View; +import android.widget.Adapter; import android.widget.TextView; import com.example.ninefourone.nutritionmaster.R; +import com.example.ninefourone.nutritionmaster.bean.Illness; import butterknife.BindView; import butterknife.ButterKnife; @@ -17,8 +21,39 @@ public class IllnessHolder extends RecyclerView.ViewHolder { @BindView(R.id.text) TextView text; - public IllnessHolder(View itemView) { + private IllAdapter adapter; + + public IllnessHolder(View itemView, IllAdapter adapter) { super(itemView); ButterKnife.bind(this, itemView); + this.adapter = adapter; + } + + public void bindView(String illness, final int position) { + text.setText(illness); + text.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + AlertDialog.Builder builder = new AlertDialog.Builder(itemView.getContext()) + .setTitle("删除").setMessage("确定删除该项?"); + builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + } + }); + builder.setPositiveButton("确认", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + adapter.deleteItem(position); + } + }); + + AlertDialog dialog = builder.create(); + dialog.setCancelable(true); + dialog.setCanceledOnTouchOutside(false); + dialog.show(); + } + }); } } 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 9ff6cac..bca3546 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 @@ -8,6 +8,8 @@ import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.RequiresApi; import android.support.design.widget.AppBarLayout; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; @@ -19,10 +21,14 @@ import android.widget.TextView; import com.ToxicBakery.viewpager.transforms.CubeOutTransformer; import com.akexorcist.roundcornerprogressbar.RoundCornerProgressBar; +import com.bigkoo.pickerview.builder.OptionsPickerBuilder; +import com.bigkoo.pickerview.listener.OnOptionsSelectListener; +import com.bigkoo.pickerview.view.OptionsPickerView; import com.cb.ratingbar.CBRatingBar; import com.example.ninefourone.nutritionmaster.NutritionMaster; import com.example.ninefourone.nutritionmaster.R; import com.example.ninefourone.nutritionmaster.adapter.HomePagerAdapter; +import com.example.ninefourone.nutritionmaster.adapter.IllAdapter; import com.example.ninefourone.nutritionmaster.base.BaseActivity; import com.example.ninefourone.nutritionmaster.camera.ClassifierCamera; import com.example.ninefourone.nutritionmaster.modules.addinformation.AddInformationActivity; @@ -111,6 +117,16 @@ public class MainActivity extends BaseActivity { RoundCornerProgressBar weightBar; @BindView(R.id.tool_bar_nickname) TextView toolBarNickname; + @BindView(R.id.ill_recycler_view) + RecyclerView illRecyclerView; + @BindView(R.id.ill_button) + LinearLayout illButton; + + + private OptionsPickerView illPicker; + private ArrayList illness = ConstantUtils.getIllness(); + private ArrayList userIllness = new ArrayList<>(); + private IllAdapter illAdapter; @Override @@ -142,6 +158,7 @@ public class MainActivity extends BaseActivity { initViewPager(); initSearchView(); initBMB(); + initIllnessRecycler(); } /** @@ -497,4 +514,32 @@ public class MainActivity extends BaseActivity { } } + + + /** + * 初始化用户疾病list + */ + private void initIllnessRecycler() { + illAdapter = new IllAdapter(userIllness, MainActivity.this); + illRecyclerView.setLayoutManager(new GridLayoutManager(MainActivity.this, 2)); + illRecyclerView.setAdapter(illAdapter); + } + + /** + * 疾病list点击事件 + */ + @OnClick(R.id.ill_button) + public void onViewClicked() { + illPicker = new OptionsPickerBuilder(MainActivity.this, new OnOptionsSelectListener() { + @Override + public void onOptionsSelect(int options1, int options2, int options3, View v) { + userIllness.add(illness.get(options1)); + illAdapter.notifyDataSetChanged(); + illButton.setBackgroundResource(0); + } + }).build(); + MessageUtils.MakeToast("dianjile"); + illPicker.setPicker(illness); + illPicker.show(); + } } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/recommend/RecommendFragment.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/recommend/RecommendFragment.java index 4bfe7e9..e6b1e88 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/recommend/RecommendFragment.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/recommend/RecommendFragment.java @@ -140,17 +140,10 @@ public class RecommendFragment extends BaseFragment { * 加载新数据 */ private void addData() { -// Logger.d("加载数据"); for (int i = 0; i < 7; i++) { int flag = indexs[i % 4]; RecommendFood recommendFood = new RecommendFood(1, "烧肉", "好吃", flag); adapter.getData().add(recommendFood); -// if (flag == 2) { -// -// } else { -// RecommendFood recommendFood = new RecommendFood(1, "烧肉", "好吃", flag); -// adapter.getData().add(recommendFood); -// } } adapter.loadMoreComplete(); } 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 d2f842b..34658f6 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 @@ -3,6 +3,8 @@ package com.example.ninefourone.nutritionmaster.utils; import com.example.ninefourone.nutritionmaster.bean.ClassifyResult; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; /** * Created by ScorpioMiku on 2018/8/26. @@ -298,4 +300,45 @@ public class ConstantUtils { } } } + + public static HashMap illnessMap = new HashMap<>(); + + static { + illnessMap.put("补肾", "肾调养食谱"); + illnessMap.put("糖尿病", "糖尿病食谱"); + illnessMap.put("结核病", "结核病食谱"); + illnessMap.put("骨质酥松症", "骨质疏松食谱"); + illnessMap.put("营养不良", "营养不良食谱"); + illnessMap.put("便秘", "便秘食谱"); + illnessMap.put("高血压", "高血压食谱"); + illnessMap.put("消化不良", "消化不良食谱"); + illnessMap.put("神经衰弱", "神经衰弱食谱"); + illnessMap.put("肾炎", "肾炎食谱"); + illnessMap.put("月经不调", "月经不调食谱"); + illnessMap.put("上火", "清热解毒食谱"); + illnessMap.put("贫血", "贫血食谱"); + illnessMap.put("多汗", "自汗盗汗食谱"); + illnessMap.put("咳嗽", "咳喘食谱"); + illnessMap.put("防暑", "防暑食谱"); + illnessMap.put("健忘", "健忘食谱"); + illnessMap.put("耳鸣", "耳鸣食谱"); + illnessMap.put("肺病", "肺调养食谱"); + illnessMap.put("冻疮", "冻疮食谱"); + illnessMap.put("利尿", "利尿食谱"); + illnessMap.put("头疼", "头痛食谱"); + illnessMap.put("口腔溃疡", "口腔溃疡食谱"); + illnessMap.put("祛痱", "祛痱食谱"); + illnessMap.put("感冒", "感冒食谱"); + illnessMap.put("前内腺疾病", "前列腺疾病食谱"); + illnessMap.put("鼻炎", "鼻炎食谱"); + illnessMap.put("跌打骨折", "跌打骨折食谱"); + } + + public static ArrayList getIllness() { + ArrayList arrayList = new ArrayList<>(); + for (String key : illnessMap.keySet()) { + arrayList.add(key); + } + return arrayList; + } } diff --git a/app/src/main/res/drawable/ic_ill.xml b/app/src/main/res/drawable/ic_ill.xml new file mode 100644 index 0000000..f597dae --- /dev/null +++ b/app/src/main/res/drawable/ic_ill.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index af1e19d..88a22c8 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -202,10 +202,24 @@ android:layout_alignParentRight="true" android:layout_marginBottom="5dp" android:layout_marginRight="25dp" - android:background="#dc4444"> + > + + + + diff --git a/app/src/main/res/layout/ill_item.xml b/app/src/main/res/layout/ill_item.xml index 65d7526..4077039 100644 --- a/app/src/main/res/layout/ill_item.xml +++ b/app/src/main/res/layout/ill_item.xml @@ -2,21 +2,22 @@ + android:padding="1dp"> \ No newline at end of file