time列表设置时间

This commit is contained in:
fengjignqi
2026-05-28 17:11:04 +08:00
parent 967ddca167
commit 693acda192

View File

@@ -14,6 +14,7 @@ import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.bigkoo.pickerview.view.TimePickerView; import com.bigkoo.pickerview.view.TimePickerView;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ckkj.water.R; import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.base.BaseFragment; import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.databinding.WaterConfigFragmentLayoutBinding; import com.ckkj.water.databinding.WaterConfigFragmentLayoutBinding;
import com.ckkj.water.databinding.WaterConfigFragmentLayoutCopyBinding; import com.ckkj.water.databinding.WaterConfigFragmentLayoutCopyBinding;
@@ -47,6 +48,7 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
private List<WaterPlanWeekEntity.TimeDataBean> timeList = new ArrayList<>(); private List<WaterPlanWeekEntity.TimeDataBean> timeList = new ArrayList<>();
private WaterPlanWeekAdapter_copy mWeekAdapter; private WaterPlanWeekAdapter_copy mWeekAdapter;
private WaterPlanTimeDataAdapter mTimeAdapter; private WaterPlanTimeDataAdapter mTimeAdapter;
private RecyclerView.ItemDecoration itemDecoration;
@Override @Override
@@ -54,7 +56,7 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
// 设置菜单创建器。 // 设置菜单创建器。
viewBinding.rvTimes.setSwipeMenuCreator(mSwipeMenuCreator); viewBinding.rvTimes.setSwipeMenuCreator(mSwipeMenuCreator);
viewBinding.rvTimes.setOnItemMenuClickListener(mItemMenuClickListener); viewBinding.rvTimes.setOnItemMenuClickListener(mItemMenuClickListener);
RecyclerView.ItemDecoration itemDecoration = new DefaultItemDecoration itemDecoration = new DefaultItemDecoration
(mContext.getColor(R.color.transparent),20,40); (mContext.getColor(R.color.transparent),20,40);
viewBinding.rvTimes.addItemDecoration(itemDecoration); viewBinding.rvTimes.addItemDecoration(itemDecoration);
List<WaterPlanWeekEntity.DetailsBean> list = new ArrayList<>(); List<WaterPlanWeekEntity.DetailsBean> list = new ArrayList<>();
@@ -80,6 +82,123 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
initListener(); initListener();
} }
private void initListener() {
setClick(viewBinding.tvCommit);
setClick(viewBinding.imgAdd);
mWeekAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
mWeekAdapter.setSelPos(position);
List<WaterPlanWeekEntity.TimeDataBean> timeList = weekList.get(position).getTimeData();
mTimeAdapter.setNewData(timeList);
}
});
mTimeAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
switch (view.getId()){
case R.id.tv_select_time:
selectStartTime(position);
break;
case R.id.tv_plan_duration:
inputDuration(position);
break;
}
}
});
}
private void setClick(View view) {
view.setOnClickListener(this::onClick);
}
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_commit:
break;
}
}
/**
* 选择开始时间
* @param position
*/
private void selectStartTime(int position) {
boolean times[] = {false, false, false, true, true, false};
//时间选择器
TimePickerView pvTime = new TimePickerBuilder(mContext, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View v) {
//用于提交接口
weekList.get(mWeekAdapter.getmPos()).getTimeData().get(position).
setStartTime(ZYTimeUtils.getStrTimeData_H_M(date));
mTimeAdapter.notifyItemChanged(position);
}
}).setType(times)
.setCancelColor(mContext.getColor(R.color.color_999999))
.setSubmitColor(mContext.getColor(R.color.color_zhu))
.setTextColorCenter(mContext.getColor(R.color.color_zhu))
.build();
pvTime.show();
}
/**
* 输入浇水时间
* @param position
*/
private void inputDuration(int position) {
WaterPlanWeekEntity.TimeDataBean timeData = weekList.get(mWeekAdapter.getmPos()).getTimeData().get(position);
showEditDialog(getString(R.string.device_work_times_title),
getString(R.string.input_water_plan_time),
timeData.getDurationMin() == 0 ? "" : timeData.getDurationMin() + "",
true,
getString(R.string.cancel_text),
getString(R.string.confirm_text),
BaseFragment.INPUT_TYPE_NUMBER,
new BaseActivity.OnDialogClick() {
@Override
public void onCancelClick() {}
@Override
public void onConfirmClisk() {}
@Override
public void onConfirmClisk(String content) {
if (Integer.parseInt(content) <= 0) {
ToastUtil.showShort(mContext, getString(R.string.input_water_plan_time_error));
return;
}
timeData.setDurationMin(Integer.parseInt(content));
mTimeAdapter.notifyItemChanged(position);
}
@Override
public void onView1Click() {
}
});
}
/**
* 侧滑相关
*/
// 创建菜单: // 创建菜单:
SwipeMenuCreator mSwipeMenuCreator = new SwipeMenuCreator() { SwipeMenuCreator mSwipeMenuCreator = new SwipeMenuCreator() {
@Override @Override
@@ -95,7 +214,6 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
} }
}; };
// 菜单点击监听。 // 菜单点击监听。
OnItemMenuClickListener mItemMenuClickListener = new OnItemMenuClickListener() { OnItemMenuClickListener mItemMenuClickListener = new OnItemMenuClickListener() {
@Override @Override
@@ -118,94 +236,6 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
} }
}; };
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) {
// }
//
// @Override
// public void onTextChanged(CharSequence s, int start, int before, int count) {
// }
//
// @Override
// public void afterTextChanged(Editable s) {
// if(weekList != null){
// String time = s.toString();
// if(TextUtils.isEmpty(time)){
// weekList.get(0).getWashCycleList().get(mWeekAdapter.getmPos()).setDuration("");
// }else{
// weekList.get(0).getWashCycleList().get(mWeekAdapter.getmPos()).setDuration(time);
// }
// }
// }
// });
mWeekAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
mWeekAdapter.setSelPos(position);
List<WaterPlanWeekEntity.TimeDataBean> timeList = weekList.get(position).getTimeData();
mTimeAdapter.setNewData(timeList);
}
});
mTimeAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
switch (view.getId()){
case R.id.tv_select_time:
selectStartTime(position);
break;
case R.id.tv_plan_duration:
break;
}
}
});
}
private void selectStartTime(int position) {
boolean times[] = {false, false, false, true, true, false};
//时间选择器
TimePickerView pvTime = new TimePickerBuilder(mContext, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View v) {
//用于提交接口
weekList.get(mWeekAdapter.getmPos()).getTimeData().get(position).
setStartTime(ZYTimeUtils.getStrTimeData_H_M(date));
mWeekAdapter.notifyItemChanged(position);
}
}).setType(times)
.setCancelColor(mContext.getColor(R.color.color_999999))
.setSubmitColor(mContext.getColor(R.color.color_zhu))
.setTextColorCenter(mContext.getColor(R.color.color_zhu))
.build();
pvTime.show();
}
private void setClick(View view) {
view.setOnClickListener(this::onClick);
}
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_commit:
break;
}
}
// private List<WaterPlanWeekEntity.DeviceEntity> getSelectedDevices() { // private List<WaterPlanWeekEntity.DeviceEntity> getSelectedDevices() {
// if (getActivity() instanceof AddWaterPlanActivity) { // if (getActivity() instanceof AddWaterPlanActivity) {
@@ -273,4 +303,6 @@ public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLa
public void deletePlanSuccess(BaseBean bean) { public void deletePlanSuccess(BaseBean bean) {
} }
} }