From 0a13476751c01ae346c30a4c4dd266bad700d2c3 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 07 三月 2024 13:28:45 +0800 Subject: [PATCH] 2024年03月07日13:28:38 --- app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 139 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 115 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java index 3a5c20c..957a31c 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java @@ -14,14 +14,13 @@ import com.google.gson.Gson; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.R; -import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.ConstantManage; -import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.FragmentHouseListBinding; import com.hdl.photovoltaic.base.CustomBaseFragment; import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch; import com.hdl.photovoltaic.enums.ShowErrorMode; import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; @@ -40,15 +39,7 @@ * (浣忓畢)鐢电珯鍒楄〃-鐣岄潰 */ public class HouseListFragment extends CustomBaseFragment { - - public static final String SORT_TYPE_1 = "powerSort";//鍙戠數鍔熺巼鎺掑簭 - public static final String SORT_TYPE_2 = "todayElectricitySort";//浠婃棩鍙戠數閲忔帓搴� - public static final String SORT_TYPE_3 = "createTimeSort";//鍒涘缓鏃堕棿鎺掑簭 - public static final String DESCENDING = "descending";//闄嶅簭 - public static final String ASCENDING = "ascending";//鍗囧簭 - public static final String SELECTED_SORT_TYPE = SORT_TYPE_1; - public static final String SELECTED_SORT = DESCENDING; - + private boolean is_edit = false; private FragmentHouseListBinding viewBinding; private HouseInfoAdapter houseInfoAdapter; private CameraManager manager; @@ -74,14 +65,23 @@ private void initEvent() { - + viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (is_edit) { + is_edit = false; + } + viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.GONE); + initData();//鍒濆鍖栫紦瀛樻暟鎹� + setAllItemEdit(false); + houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃 + } + }); //娣诲姞鐢电珯 viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); - // requestPermissions(new PermissionsResultCallback() { // @Override // public void succeed() { @@ -106,10 +106,11 @@ viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { - updateUIData(true); + downReadData(true); HdlLogLogic.print("HouseListFragment涓嬫媺鍒锋柊", false); } }); + //杩涘叆鐢电珯璇︽儏,鍒犻櫎鐢电珯,绉诲姩鐢电珯浣嶇疆 houseInfoAdapter.setNoOnclickListener(new HouseInfoAdapter.OnclickListener() { @Override public void onClick(int position, HouseIdBean houseIdBean) { @@ -123,11 +124,88 @@ HdlUniLogic.getInstance().openUniMP(path, null); } + + @Override + public void onMoveClick(int position, HouseIdBean houseIdBean) { + if (position > 0) { + houseInfoAdapter.notifyItemMoved(position - 1, position); + } +// //绉诲姩鐢电珯浣嶇疆 +// HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId()); +// initData();//鍒濆鍖栫紦瀛樻暟鎹� +// houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃 +// nullDataUpdateUi(houseListBeanIDList);//妫�娴嬫暟鎹槸鍚︿负绌� + + } + + @Override + public void onDelClick(int position, HouseIdBean houseIdBean) { + + HdlResidenceLogic.getInstance().delHouseId(houseIdBean.getHomeId()); + initData();//鍒濆鍖栫紦瀛樻暟鎹� + houseInfoAdapter.notifyItemRemoved(position); + +// DelayedConfirmationCancelDialog delayedConfirmationCancelDialog = new DelayedConfirmationCancelDialog(_mActivity); +// delayedConfirmationCancelDialog.setTitle(R.string.loading_title_tip); +// delayedConfirmationCancelDialog.setContent("鏄惁纭鍒犻櫎鐢电珯?"); +// delayedConfirmationCancelDialog.show(); +// delayedConfirmationCancelDialog.startCountdown(3); +// delayedConfirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { +// @Override +// public void Confirm() { +// //鍒犻櫎浣忓畢 +// HdlResidenceLogic.getInstance().delResidence(houseIdBean.getHomeId(), new CloudCallBeak<Boolean>() { +// @Override +// public void onSuccess(Boolean obj) { +// HdlResidenceLogic.getInstance().delHouseId(houseIdBean.getHomeId()); +// initData();//鍒濆鍖栫紦瀛樻暟鎹� +// setAllItemEdit(is_edit); +// houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃 +// nullDataUpdateUi(houseListBeanIDList);//妫�娴嬫暟鎹槸鍚︿负绌� +// delayedConfirmationCancelDialog.dismiss(); +// } +// +// @Override +// public void onFailure(HDLException e) { +// HdlThreadLogic.toast(_mActivity, e); +// } +// }); +// } +// }); +// delayedConfirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { +// @Override +// public void Cancel() { +// delayedConfirmationCancelDialog.dismiss(); +// } +// }); + + } + }); + + //缂栬緫鐢电珯鎸夐挳 + viewBinding.toolbarTopFragmentHouseListRl.topEditIv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (is_edit) { + //闃叉澶氭鐐瑰嚮 + return; + } + is_edit = true; + viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE); + if (houseInfoAdapter == null) { + return; + } + initData();//鍒濆鍖栫紦瀛樻暟鎹� + setAllItemEdit(true); + houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃 + } }); } private void initView() { viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.my_power_station); + viewBinding.toolbarTopFragmentHouseListRl.topEditIv.setVisibility(View.VISIBLE); + viewBinding.toolbarTopFragmentHouseListRl.topEditIv.setImageResource(R.drawable.editor_house); viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setVisibility(View.VISIBLE); viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setImageResource(R.drawable.add); LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity); @@ -156,7 +234,7 @@ if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(eventBus.getTopic())) { if (HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION.equals(eventBus.getType())) { //uin鍒涘缓鐢电珯鎴愬姛鍚庨�氱煡 - updateUIData(false); + downReadData(false); if (eventBus.getData() != null) { Gson gson = new Gson(); String json = eventBus.getData().toString(); @@ -195,7 +273,7 @@ if (MqttRecvClient.getInstance() != null) { MqttRecvClient.getInstance().removeAllTopic(); } - updateUIData(false); + downReadData(false); } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) { //杩涘幓浣忓畢璇︽儏uni璇诲彇閫嗗彉鍣ㄥ垪琛ㄦ垚鍔熷悗閫氱煡 @@ -214,12 +292,24 @@ } } + + /** + * 璁剧疆鍏ㄩ儴缂撳瓨鏁版嵁缂栬緫鐘舵�� + * + * @param edit true琛ㄧず鍦ㄧ紪杈戠姸鎬� + */ + private void setAllItemEdit(boolean edit) { + for (int i = 0; i < houseListBeanIDList.size(); i++) { + houseListBeanIDList.get(i).setEdit(edit); + } + } + /** * 鍒锋柊UI * * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑 */ - private void updateUIData(boolean isRefreshing) { + private void downReadData(boolean isRefreshing) { //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃 HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() { @Override @@ -235,8 +325,10 @@ //鏇存柊缂撳瓨 HdlResidenceLogic.getInstance().setHouseIdList(list); if (houseInfoAdapter != null) { + initData(); + setAllItemEdit(is_edit); //鏇存柊UI - houseInfoAdapter.setList(list); + houseInfoAdapter.setList(houseListBeanIDList); } } @@ -316,11 +408,10 @@ * 娌℃湁鐢电珯鍒楄〃鐨勬牱寮� */ private void nullDataUpdateUi(List<HouseIdBean> list) { - if (list != null && list.size() > 0) { - viewBinding.nullListTv.setVisibility(View.GONE); - } else { - viewBinding.nullListTv.setVisibility(View.VISIBLE); - } + HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, + viewBinding.nullDataIc.getRoot(), + viewBinding.nullDataIc.nullDataGifAnimationIv, + viewBinding.nullDataIc.nullDataTv, getString(R.string.my_power_station_data_null), list != null && list.size() > 0); } -- Gitblit v1.8.0