排程重做
This commit is contained in:
@@ -71,7 +71,7 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
viewBinding.includedTitle.tvTitle.setText(R.string.add_water_plan_title);
|
||||
}
|
||||
|
||||
mFragmentList.add(new WaterConfigFragment());
|
||||
mFragmentList.add(new WaterConfigFragment_copy());
|
||||
mFragmentList.add(new BindDeviceFragment());
|
||||
ViewPagerAdapter adapter = new ViewPagerAdapter(mContext, mFragmentList);
|
||||
viewBinding.viewpage.setAdapter(adapter);
|
||||
@@ -84,12 +84,12 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
initListener();
|
||||
|
||||
// 编辑模式下,延迟传递数据给 WaterConfigFragment,等 viewBinding 初始化完成后调用
|
||||
if (mIsEditMode && mEditEntity != null) {
|
||||
viewBinding.viewpage.post(() -> {
|
||||
WaterConfigFragment configFragment = (WaterConfigFragment) mFragmentList.get(0);
|
||||
configFragment.setEditEntity(mEditEntity);
|
||||
});
|
||||
}
|
||||
// if (mIsEditMode && mEditEntity != null) {
|
||||
// viewBinding.viewpage.post(() -> {
|
||||
// WaterConfigFragment configFragment = (WaterConfigFragment) mFragmentList.get(0);
|
||||
// configFragment.setEditEntity(mEditEntity);
|
||||
// });
|
||||
// }
|
||||
}
|
||||
|
||||
private void initListener() {
|
||||
@@ -115,49 +115,52 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
break;
|
||||
|
||||
case R.id.tv_bind:
|
||||
WaterConfigFragment configFragment = (WaterConfigFragment) mFragmentList.get(0);
|
||||
if (!configFragment.checkConfigFinish()) {
|
||||
ToastUtil.showShort(mContext, "请完成配置");
|
||||
return;
|
||||
}
|
||||
// WaterConfigFragment configFragment = (WaterConfigFragment) mFragmentList.get(0);
|
||||
// if (!configFragment.checkConfigFinish()) {
|
||||
// ToastUtil.showShort(mContext, "请完成配置");
|
||||
// return;
|
||||
// }
|
||||
|
||||
// 编辑模式下,检查配置是否有变化
|
||||
if (mIsEditMode) {
|
||||
if (configFragment.isConfigChanged()) {
|
||||
showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false, true,
|
||||
"提示", "配置已修改,是否保存?",
|
||||
"取消", "保存", new BaseFragment.OnDialogClick() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmClick() {
|
||||
configFragment.commitConfig();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
selectTabBind(mEditEntity);
|
||||
}
|
||||
} else {
|
||||
// 新增模式,检查配置是否已保存
|
||||
if (!configFragment.isConfigSave || configFragment.isConfigChanged()) {
|
||||
showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false, true,
|
||||
"提示", "关联设备需要保存排程配置,是否继续?",
|
||||
"取消", "继续", new BaseFragment.OnDialogClick() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmClick() {
|
||||
configFragment.commitConfig();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
selectTabBind(mNewAddEntity);
|
||||
}
|
||||
}
|
||||
// if (mIsEditMode) {
|
||||
// if (configFragment.isConfigChanged()) {
|
||||
// showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false, true,
|
||||
// "提示", "配置已修改,是否保存?",
|
||||
// "取消", "保存", new BaseFragment.OnDialogClick() {
|
||||
// @Override
|
||||
// public void onCancelClick() {
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onConfirmClick() {
|
||||
// configFragment.commitConfig();
|
||||
// }
|
||||
// });
|
||||
// } else {
|
||||
// selectTabBind(mEditEntity);
|
||||
// }
|
||||
// } else {
|
||||
// // 新增模式,检查配置是否已保存
|
||||
// if (!configFragment.isConfigSave || configFragment.isConfigChanged()) {
|
||||
// showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false, true,
|
||||
// "提示", "关联设备需要保存排程配置,是否继续?",
|
||||
// "取消", "继续", new BaseFragment.OnDialogClick() {
|
||||
// @Override
|
||||
// public void onCancelClick() {
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onConfirmClick() {
|
||||
// configFragment.commitConfig();
|
||||
// }
|
||||
// });
|
||||
// } else {
|
||||
// selectTabBind(mNewAddEntity);
|
||||
// }
|
||||
// }
|
||||
viewBinding.tvConfig.setSelected(false);
|
||||
viewBinding.tvBind.setSelected(true);
|
||||
viewBinding.viewpage.setCurrentItem(1);
|
||||
break;
|
||||
|
||||
|
||||
|
||||
@@ -25,6 +25,11 @@ import com.ckkj.water.plan.mvp.WaterPlanImpl;
|
||||
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
||||
import com.ckkj.water.utils.time.ZYTimeUtils;
|
||||
import com.google.gson.Gson;
|
||||
import com.yanzhenjie.recyclerview.OnItemMenuClickListener;
|
||||
import com.yanzhenjie.recyclerview.SwipeMenu;
|
||||
import com.yanzhenjie.recyclerview.SwipeMenuBridge;
|
||||
import com.yanzhenjie.recyclerview.SwipeMenuCreator;
|
||||
import com.yanzhenjie.recyclerview.SwipeMenuItem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -40,6 +45,10 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
|
||||
|
||||
@Override
|
||||
public void initData(Bundle state) {
|
||||
// 设置菜单创建器。
|
||||
viewBinding.rvTimes.setSwipeMenuCreator(mSwipeMenuCreator);
|
||||
viewBinding.rvTimes.setOnItemMenuClickListener(mItemMenuClickListener);
|
||||
|
||||
List<WaterPlanWeekEntity.DetailsBean> list = new ArrayList<>();
|
||||
for(int i = 0; i < 7; i++){
|
||||
WaterPlanWeekEntity.DetailsBean bean = new WaterPlanWeekEntity.DetailsBean();
|
||||
@@ -57,13 +66,44 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
|
||||
mWeekAdapter = new WaterPlanWeekAdapter_copy(mContext, R.layout.plan_period_item,list);
|
||||
viewBinding.rvWeek.setAdapter(mWeekAdapter);
|
||||
//周期对应的 时间配置
|
||||
timeList = weekList.get(0).getTimeData();
|
||||
mTimeAdapter = new WaterPlanTimeDataAdapter(mContext,R.layout.include_plan_time_item_layout,timeList);
|
||||
viewBinding.rvTimes.setAdapter(mTimeAdapter);
|
||||
initListener();
|
||||
|
||||
}
|
||||
// 创建菜单:
|
||||
SwipeMenuCreator mSwipeMenuCreator = new SwipeMenuCreator() {
|
||||
@Override
|
||||
public void onCreateMenu(SwipeMenu leftMenu, SwipeMenu rightMenu, int position) {
|
||||
SwipeMenuItem deleteItem = new SwipeMenuItem(mContext);
|
||||
deleteItem.setBackground(mContext.getResources().getDrawable(R.drawable.shape_item_delete_bg));
|
||||
deleteItem.setText("删除");
|
||||
deleteItem.setTextColor(mContext.getResources().getColor(R.color.white));
|
||||
// 各种文字和图标属性设置。
|
||||
rightMenu.addMenuItem(deleteItem); // 在Item右侧添加一个菜单。
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// 菜单点击监听。
|
||||
OnItemMenuClickListener mItemMenuClickListener = new OnItemMenuClickListener() {
|
||||
@Override
|
||||
public void onItemClick(SwipeMenuBridge menuBridge, int position) {
|
||||
// 任何操作必须先关闭菜单,否则可能出现Item菜单打开状态错乱。
|
||||
menuBridge.closeMenu();
|
||||
// 左侧还是右侧菜单:
|
||||
int direction = menuBridge.getDirection();
|
||||
// 菜单在Item中的Position:
|
||||
int menuPosition = menuBridge.getPosition();
|
||||
}
|
||||
};
|
||||
|
||||
private void initListener() {
|
||||
setClick(viewBinding.tvCommit);
|
||||
setClick(viewBinding.imgAdd);
|
||||
// viewBinding.etPlanTime.addTextChangedListener(new TextWatcher() {
|
||||
// @Override
|
||||
// public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
@@ -90,6 +130,8 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
|
||||
@Override
|
||||
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
mWeekAdapter.setSelPos(position);
|
||||
List<WaterPlanWeekEntity.TimeDataBean> timeList = weekList.get(position).getTimeData();
|
||||
mTimeAdapter.setNewData(timeList);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -100,6 +142,13 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
|
||||
|
||||
public void onClick(View v){
|
||||
switch (v.getId()){
|
||||
|
||||
case R.id.img_add:
|
||||
int selPos = mWeekAdapter.getmPos();
|
||||
WaterPlanWeekEntity.TimeDataBean timeData = new WaterPlanWeekEntity.TimeDataBean();
|
||||
weekList.get(selPos).getTimeData().add(timeData);
|
||||
mTimeAdapter.notifyItemInserted(weekList.get(selPos).getTimeData().size() - 1);
|
||||
break;
|
||||
case R.id.tv_select_time:
|
||||
boolean times[] = {false, false, false, true, true, false};
|
||||
//时间选择器
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package com.ckkj.water.plan.adapter;
|
||||
|
||||
import static android.view.View.INVISIBLE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -35,38 +40,43 @@ public class WaterPlanWeekAdapter_copy extends BaseQuickAdapter<WaterPlanWeekEnt
|
||||
|
||||
helper.setText(R.id.tv_week_name,item.getWeekName());
|
||||
|
||||
if(!TextUtils.isEmpty(item.getStartTime())){
|
||||
helper.setText(R.id.tv_select_time, item.getStartTime());
|
||||
LinearLayout linearItem = helper.getView(R.id.linear_item);
|
||||
View viewStatus = helper.getView(R.id.view_status);
|
||||
if(helper.getLayoutPosition() == mPos){
|
||||
linearItem.setBackground(mContext.getResources().getDrawable(R.drawable.shape_water_period_sel_bg));
|
||||
viewStatus.setVisibility(VISIBLE);
|
||||
viewStatus.setBackground(mContext.getResources().getDrawable(R.drawable.shape_green_circle));
|
||||
}else{
|
||||
helper.setText(R.id.tv_select_time,"");
|
||||
tvStartTime.setHint(mContext.getString(R.string.select_water_time));
|
||||
}
|
||||
if(item.getDurationMin() != 0){
|
||||
helper.setText(R.id.tv_plan_duration,item.getDurationMin() + "");
|
||||
}else{
|
||||
helper.setText(R.id.tv_plan_duration,"");
|
||||
tvPlanDuration.setHint(mContext.getString(R.string.input_water_plan_time));
|
||||
linearItem.setBackground(null);
|
||||
viewStatus.setVisibility(INVISIBLE);
|
||||
}
|
||||
|
||||
if(item.getStatus().equals("1")){
|
||||
checkBox.setChecked(true);
|
||||
}else{
|
||||
checkBox.setChecked(false);
|
||||
}
|
||||
|
||||
helper.addOnClickListener(R.id.linear_week);
|
||||
helper.addOnClickListener(R.id.checkbox);
|
||||
helper.addOnClickListener(R.id.tv_select_time);
|
||||
helper.addOnClickListener(R.id.tv_plan_duration);
|
||||
|
||||
// LinearLayout linearItem = helper.getView(R.id.linear_item);
|
||||
// View viewStatus = helper.getView(R.id.view_status);
|
||||
// if(helper.getLayoutPosition() == mPos){
|
||||
// linearItem.setBackground(mContext.getResources().getDrawable(R.drawable.shape_water_period_sel_bg));
|
||||
// viewStatus.setVisibility(VISIBLE);
|
||||
// viewStatus.setBackground(mContext.getResources().getDrawable(R.drawable.shape_green_circle));
|
||||
// if(!TextUtils.isEmpty(item.getStartTime())){
|
||||
// helper.setText(R.id.tv_select_time, item.getStartTime());
|
||||
// }else{
|
||||
// linearItem.setBackground(null);
|
||||
// helper.setText(R.id.tv_select_time,"");
|
||||
// tvStartTime.setHint(mContext.getString(R.string.select_water_time));
|
||||
// }
|
||||
// if(item.getDurationMin() != 0){
|
||||
// helper.setText(R.id.tv_plan_duration,item.getDurationMin() + "");
|
||||
// }else{
|
||||
// helper.setText(R.id.tv_plan_duration,"");
|
||||
// tvPlanDuration.setHint(mContext.getString(R.string.input_water_plan_time));
|
||||
// }
|
||||
//
|
||||
// if(item.getStatus().equals("1")){
|
||||
// checkBox.setChecked(true);
|
||||
// }else{
|
||||
// checkBox.setChecked(false);
|
||||
// }
|
||||
//
|
||||
// helper.addOnClickListener(R.id.linear_week);
|
||||
// helper.addOnClickListener(R.id.checkbox);
|
||||
// helper.addOnClickListener(R.id.tv_select_time);
|
||||
// helper.addOnClickListener(R.id.tv_plan_duration);
|
||||
|
||||
|
||||
// if(!TextUtils.isEmpty(item.getTime()) && !TextUtils.isEmpty(item.getDuration())){
|
||||
// viewStatus.setVisibility(VISIBLE);
|
||||
// viewStatus.setBackground(mContext.getResources().getDrawable(R.drawable.shape_yellow_circle));
|
||||
@@ -74,7 +84,6 @@ public class WaterPlanWeekAdapter_copy extends BaseQuickAdapter<WaterPlanWeekEnt
|
||||
// viewStatus.setVisibility(INVISIBLE);
|
||||
// viewStatus.setBackground(null);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
public void setSelPos(int position) {
|
||||
|
||||
Reference in New Issue
Block a user