From 31b7700b976a46901f67c5d7a00281ca4745fc9f Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期六, 07 十月 2023 21:44:35 +0800 Subject: [PATCH] 调整旅游模块功能 --- app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java | 170 +++++++++++++++++--------------------------------------- 1 files changed, 51 insertions(+), 119 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java index f5f11a6..b9cb2a9 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java @@ -24,11 +24,14 @@ import com.application.zhangshi_app_android.databinding.ActivityTourismDetailBinding; import com.application.zhangshi_app_android.ui.DLBaseActivity; import com.github.gzuliyujiang.wheelpicker.DatePicker; +import com.github.gzuliyujiang.wheelpicker.OptionPicker; import com.github.gzuliyujiang.wheelpicker.annotation.DateMode; import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener; +import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Arrays; import java.util.Calendar; import java.util.HashSet; import java.util.List; @@ -44,7 +47,6 @@ public class TourismDetailActivity extends DLBaseActivity<ActivityTourismDetailBinding,TourismDetailActivityViewModel> { private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼 private PopupWindow popupWindow; - private DailyConsumeRecordRvAdapter adapter; @Override public int getLayoutId() { @@ -69,13 +71,6 @@ @Override public void initView() { - adapter = new DailyConsumeRecordRvAdapter(this,viewModel); - LinearItemDecoration itemDecoration = new LinearItemDecoration(); - itemDecoration.setBottomSpace(ScreenSizeUtils.dip2px(this,20)); - binding.rvDailyConsumeRecord.addItemDecoration(itemDecoration); - binding.rvDailyConsumeRecord.setNestedScrollingEnabled(false); - binding.rvDailyConsumeRecord.setAdapter(adapter); - if (type == 1){ viewModel.getTypeLiveData().setValue(true); binding.titleBar.setTitle("鏂板鏃呮父璐圭敤璁板綍"); @@ -166,25 +161,54 @@ } }); datePicker.show(); - } }); - binding.ivAddDailyConsumeRecord.setOnClickListener(new View.OnClickListener() { + binding.etWhereabouts.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - DatePicker datePicker = getDatePicker(); - datePicker.setTitle("閫夋嫨娑堣垂鏃ユ湡"); - datePicker.getWheelLayout().setDateMode(DateMode.MONTH_DAY); - datePicker.setOnDatePickedListener(new OnDatePickedListener() { + List<String> list = Arrays.asList("鍥藉唴","鍥藉"); + OptionPicker picker = getOptionPicker(list); + picker.setTitle("閫夋嫨鍘诲悜"); + picker.setOnOptionPickedListener(new OnOptionPickedListener() { @Override - public void onDatePicked(int year, int month, int day) { - DailyConsumeRecordBean dailyConsumeRecordBean = new DailyConsumeRecordBean(); - dailyConsumeRecordBean.setDate(month+"鏈�"+day+"鏃�"); - adapter.addItem(0,dailyConsumeRecordBean); - adapter.setFold(true,0); + public void onOptionPicked(int position, Object item) { + binding.etWhereabouts.setText(item.toString()); + binding.etWhereabouts.clearFocus(); } }); - datePicker.show(); + picker.show(); + } + }); + binding.etTourismNature.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + List<String> list = Arrays.asList("鍏垂","鑷垂","閭�璇�"); + OptionPicker picker = getOptionPicker(list); + picker.setTitle("閫夋嫨鏃呮父鎬ц川"); + picker.setOnOptionPickedListener(new OnOptionPickedListener() { + @Override + public void onOptionPicked(int position, Object item) { + binding.etTourismNature.setText(item.toString()); + binding.etTourismNature.clearFocus(); + } + }); + picker.show(); + } + }); + binding.etTourismWay.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + List<String> list = Arrays.asList("鍙傚洟","鑷敱琛�","鑷┚娓�","鍗婅嚜鐢卞崐鑷┚","鍏朵粬"); + OptionPicker picker = getOptionPicker(list); + picker.setTitle("閫夋嫨鏃呮父鏂瑰紡"); + picker.setOnOptionPickedListener(new OnOptionPickedListener() { + @Override + public void onOptionPicked(int position, Object item) { + binding.etTourismWay.setText(item.toString()); + binding.etTourismWay.clearFocus(); + } + }); + picker.show(); } }); } @@ -196,117 +220,25 @@ @Override public void initLiveDataObserve() { - viewModel.getBeanLiveData().observe(this,bean -> { - if (bean!=null){ - if (bean.getDetailList()==null){ - return; - } - //鏍规嵁鏃堕棿鍒嗙粍 - Set<String> set = new HashSet<>(); - for (ConsumeRecordBean consumeRecordBean : bean.getDetailList()) { - set.add(consumeRecordBean.getHappenTime()); - } - List<DailyConsumeRecordBean> list = new ArrayList<>(); - for (String s : set) { - DailyConsumeRecordBean dailyConsumeRecordBean = new DailyConsumeRecordBean(); - dailyConsumeRecordBean.setDate(s); - List<ConsumeRecordBean> consumeRecordBeans = new ArrayList<>(); - for (ConsumeRecordBean consumeRecordBean : bean.getDetailList()) { - if (s.equals(consumeRecordBean.getHappenTime())){ - consumeRecordBeans.add(consumeRecordBean); - dailyConsumeRecordBean.setDailyMoney(consumeRecordBean.getDayCost()); - } - } - dailyConsumeRecordBean.setConsumeRecordBeans(consumeRecordBeans); - list.add(dailyConsumeRecordBean); - } - adapter.setData(list); - } + viewModel.getBeanLiveData().observe(this, bean -> { + }); - viewModel.getTypeLiveData().observe(this,operateType -> { - if (operateType){ + viewModel.getTypeLiveData().observe(this, operateType -> { + if (operateType) { if (type == 1) { binding.ivOperate.setOnClickListener(v -> { - if (adapter.getData() != null){ - List<ConsumeRecordBean> list = new ArrayList<>(); - for (DailyConsumeRecordBean bean : adapter.getData()) { - if (bean.getConsumeRecordBeans() != null){ - for (ConsumeRecordBean consumeRecordBean : bean.getConsumeRecordBeans()) { - consumeRecordBean.setHappenTime(bean.getDate()); - } - list.addAll(bean.getConsumeRecordBeans()); - } - } - if (viewModel.getBeanLiveData().getValue() == null){ - return; - } - viewModel.getBeanLiveData().getValue().setDetailList(list); - } viewModel.add(); }); - }else { + } else { binding.ivOperate.setOnClickListener(v -> { - if (adapter.getData() != null){ - List<ConsumeRecordBean> list = new ArrayList<>(); - for (DailyConsumeRecordBean bean : adapter.getData()) { - if (bean.getConsumeRecordBeans() != null){ - for (ConsumeRecordBean consumeRecordBean : bean.getConsumeRecordBeans()) { - consumeRecordBean.setHappenTime(bean.getDate()); - } - list.addAll(bean.getConsumeRecordBeans()); - } - } - if (viewModel.getBeanLiveData().getValue() == null){ - return; - } - viewModel.getBeanLiveData().getValue().setDetailList(list); - } viewModel.update(); }); } - }else { + } else { binding.ivOperate.setOnClickListener(v -> { - popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0); + popupWindow.showAsDropDown(binding.ivOperate, -ScreenSizeUtils.dip2px(this, 85) + binding.ivOperate.getWidth(), 0); }); } }); - RxBus.getInstance().toObservable(this, MessageEvent.class) - .subscribe(messageEvent -> { - if (messageEvent.getMessageEventCode() == MessageEvent.EVENT_TOURISM_CONSUME_CHANGE){ - if (adapter.getItemCount() == 0 || adapter.getData() == null){ - binding.etTotalCost.setText("0"); - binding.etTotalCost1.setText("0"); - binding.etTraffic.setText("0"); - binding.etStay.setText("0"); - binding.etShopping.setText("0"); - binding.etEntrance.setText("0"); - binding.etEat.setText("0"); - return; - } - Set<String> dateSet = new HashSet<>(); - double totalCost = 0,traffic = 0,stay = 0,shopping = 0,entrance = 0,eat = 0; - for (DailyConsumeRecordBean dailyConsumeRecordBean : adapter.getData()) { - dateSet.add(dailyConsumeRecordBean.getDate()); - totalCost += dailyConsumeRecordBean.getDailyMoney(); - if (dailyConsumeRecordBean.getConsumeRecordBeans() != null){ - for (ConsumeRecordBean consumeRecordBean : dailyConsumeRecordBean.getConsumeRecordBeans()){ - traffic += consumeRecordBean.getTraffic(); - stay += consumeRecordBean.getStay(); - shopping += consumeRecordBean.getShopping(); - entrance += consumeRecordBean.getEntrance(); - eat += consumeRecordBean.getEat(); - } - } - } - binding.etTotalCost.setText(BigDecimal.valueOf(totalCost).stripTrailingZeros().toPlainString()); - binding.etTotalCost1.setText(BigDecimal.valueOf(totalCost).stripTrailingZeros().toPlainString()); - binding.etTraffic.setText(BigDecimal.valueOf(traffic).stripTrailingZeros().toPlainString()); - binding.etStay.setText(BigDecimal.valueOf(stay).stripTrailingZeros().toPlainString()); - binding.etShopping.setText(BigDecimal.valueOf(shopping).stripTrailingZeros().toPlainString()); - binding.etEntrance.setText(BigDecimal.valueOf(entrance).stripTrailingZeros().toPlainString()); - binding.etEat.setText(BigDecimal.valueOf(eat).stripTrailingZeros().toPlainString()); - binding.etTotalDay.setText(dateSet.size()+""); - } - }); } } -- Gitblit v1.9.1