first
This commit is contained in:
157
app/src/main/java/com/ckkj/water/plan/WaterConfigFragment.java
Normal file
157
app/src/main/java/com/ckkj/water/plan/WaterConfigFragment.java
Normal file
@@ -0,0 +1,157 @@
|
||||
package com.ckkj.water.plan;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.View;
|
||||
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder;
|
||||
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseFragment;
|
||||
import com.ckkj.water.databinding.WaterConfigFragmentLayoutBinding;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.plan.adapter.WaterPlanWeekAdapter;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
import com.ckkj.water.plan.mvp.WaterPlanContract;
|
||||
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 java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutBinding, WaterPlanPresenter>
|
||||
implements WaterPlanContract.WaterPlanView {
|
||||
private List<WaterPlanWeekEntity> weekList = new ArrayList<>();
|
||||
private WaterPlanWeekAdapter mWeekAdapter;
|
||||
|
||||
|
||||
@Override
|
||||
public void initData(Bundle state) {
|
||||
String jsonContent = getString(R.string.plan_water_entity_json);
|
||||
WaterPlanWeekEntity entity = new Gson().fromJson(jsonContent, WaterPlanWeekEntity.class);
|
||||
weekList.add(entity);
|
||||
mWeekAdapter = new WaterPlanWeekAdapter(mContext, R.layout.plan_period_item,weekList.get(0).getWashCycleList());
|
||||
viewBinding.rvWeek.setAdapter(mWeekAdapter);
|
||||
initListener();
|
||||
}
|
||||
|
||||
private void initListener() {
|
||||
setClick(viewBinding.tvCommit);
|
||||
setClick(viewBinding.tvSelectTime);
|
||||
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);
|
||||
String planStartTime = weekList.get(0).getWashCycleList().get(position).getTime();
|
||||
String planTime = weekList.get(0).getWashCycleList().get(position).getDuration();
|
||||
|
||||
if(TextUtils.isEmpty(planStartTime)){
|
||||
viewBinding.tvSelectTime.setHint(getString(R.string.select_water_time));
|
||||
viewBinding.tvSelectTime.setText("");
|
||||
}else{
|
||||
viewBinding.tvSelectTime.setText(planStartTime);
|
||||
}
|
||||
|
||||
if(TextUtils.isEmpty(planTime)){
|
||||
viewBinding.etPlanTime.setHint(getString(R.string.input_water_plan_time));
|
||||
viewBinding.etPlanTime.setText("");
|
||||
}else{
|
||||
viewBinding.etPlanTime.setText(planTime);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setClick(View view) {
|
||||
view.setOnClickListener(this::onClick);
|
||||
}
|
||||
|
||||
public void onClick(View v){
|
||||
switch (v.getId()){
|
||||
case R.id.tv_select_time:
|
||||
boolean times[] = {false, false, false, true, true, false};
|
||||
//时间选择器
|
||||
TimePickerView pvTime = new TimePickerBuilder(mContext, new OnTimeSelectListener() {
|
||||
@Override
|
||||
public void onTimeSelect(Date date, View v) {
|
||||
viewBinding.tvSelectTime.setText(ZYTimeUtils.getStrTimeData_H_M(date));
|
||||
if(weekList != null){
|
||||
String startTime = ZYTimeUtils.getStrTimeData_H_M(date).trim();
|
||||
weekList.get(0).getWashCycleList().get(mWeekAdapter.getmPos()).setTime(startTime);
|
||||
}
|
||||
}
|
||||
}).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();
|
||||
break;
|
||||
|
||||
case R.id.tv_commit:
|
||||
List<WaterPlanWeekEntity.DeviceEntity> list = getSelectedDevices();
|
||||
if(list != null){
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private List<WaterPlanWeekEntity.DeviceEntity> getSelectedDevices() {
|
||||
if (getActivity() instanceof AddWaterPlanActivity) {
|
||||
return ((AddWaterPlanActivity) getActivity()).getSelectedDevices();
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public WaterPlanPresenter createPresenter() {
|
||||
return new WaterPlanPresenter(new WaterPlanImpl());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNetChange(int netModel) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showError(String message) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logOut(BaseBean bean) {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user