From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java | 108 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 94 insertions(+), 14 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java
index 9ef7f82..ee1fdab 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java
@@ -2,6 +2,8 @@
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
import android.view.View;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -13,12 +15,20 @@
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.ActivityPowerStationsMoveBinding;
import com.hdl.photovoltaic.enums.ShowErrorMode;
+import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.ui.newC.adapter.HouseMoveAdapter;
+import com.hdl.photovoltaic.uni.HDLUniMP;
+import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout;
+import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder;
+import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
+
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
@@ -27,6 +37,8 @@
* C绔數绔欏垪琛ㄧЩ鍔ㄤ綅缃�
*/
public class PowerStationsMoveActivity extends CustomBaseActivity {
+ private Handler handler;
+ private Runnable delayedRunnable;
private ActivityPowerStationsMoveBinding viewBinding;//鏄惁鍦ㄧ紪杈戠姸鎬�
private HouseMoveAdapter houseMoveAdapter;
@@ -56,6 +68,53 @@
this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList());
}
+
+ /**
+ * 涓嬫媺鍒锋柊鐨勯�昏緫
+ */
+ protected void pullToRefresh() {
+ viewBinding.fragmentHouseSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() {
+ @Override
+ public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) {
+ handler = new Handler(Looper.getMainLooper());
+
+ delayedRunnable = new Runnable() {
+ @Override
+ public void run() {
+ viewBinding.fragmentHouseSrl.endRefreshing();
+ HdlResidenceLogic.getInstance().clearHouseList();
+ downReadData(false);
+ }
+ };
+ // 寤惰繜 5 绉掓墽琛�
+ handler.postDelayed(delayedRunnable, 1000);
+ }
+
+
+ @Override
+ public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) {
+
+ handler = new Handler(Looper.getMainLooper());
+ delayedRunnable = new Runnable() {
+ @Override
+ public void run() {
+ viewBinding.fragmentHouseSrl.endLoadingMore();
+
+ }
+ };
+ // 寤惰繜 5 绉掓墽琛�
+ handler.postDelayed(delayedRunnable, 10);
+
+ return true;
+ }
+ });
+ HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true);
+ hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44);
+ hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh);
+ hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end);
+ viewBinding.fragmentHouseSrl.setRefreshViewHolder(hdlRefreshViewHolder);
+ }
+
private void initEvent() {
//杩斿洖鎸夐挳
viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() {
@@ -65,17 +124,6 @@
}
});
-
- //璁剧疆涓嬫媺绠ご棰滆壊
- viewBinding.fragmentHouseSrl.setColorSchemeResources(R.color.text_FF245EC3);
- //鍒楄〃涓嬫媺鎸夐挳
- viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- HdlResidenceLogic.getInstance().clearHouseList();
- downReadData(true);
- }
- });
if (houseMoveAdapter != null) {
//鐢电珯绉诲姩浣嶇疆鎸夐挳
houseMoveAdapter.setMoveOnclickListener(new HouseMoveAdapter.OnMoveClickListener() {
@@ -96,7 +144,9 @@
//绉诲姩鐢电珯浣嶇疆
HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId());
initData();//鍒濆鍖栫紦瀛樻暟鎹�
- houseMoveAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+ if (houseMoveAdapter != null) {
+ houseMoveAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+ }
nullDataUpdateUi(houseListBeanIDList);//妫�娴嬫暟鎹槸鍚︿负绌�
//閫氱煡澶栭潰鏇存柊浣嶇疆
HdlCommonLogic.getInstance().postEventBus(ConstantManage.REFRESH_HOME_LIST, ConstantManage.REFRESH_HOME_LIST);
@@ -125,6 +175,7 @@
viewBinding.fragmentHouseSrlListRc.setAdapter(houseMoveAdapter);
houseMoveAdapter.setList(this.houseListBeanIDList);
this.nullDataUpdateUi(houseListBeanIDList);
+ pullToRefresh();
}
/**
@@ -133,6 +184,10 @@
* @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑
*/
private void downReadData(boolean isRefreshing) {
+ if (isRefreshing) {
+ //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦�
+ showLoading();
+ }
//鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
@Override
@@ -142,7 +197,7 @@
public void run() {
if (isRefreshing) {
//鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦�
- viewBinding.fragmentHouseSrl.setRefreshing(false);
+ hideLoading();
}
if (list != null && list.size() > 0) {
//鏇存柊缂撳瓨
@@ -167,7 +222,7 @@
public void run() {
if (isRefreshing) {
//鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦�
- viewBinding.fragmentHouseSrl.setRefreshing(false);
+ hideLoading();
}
HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
@@ -184,5 +239,30 @@
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);
}
+ @Override
+ protected void onDestroy() {
+ if (handler != null && delayedRunnable != null) {
+ handler.removeCallbacks(delayedRunnable);
+ }
+ super.onDestroy();
+ }
+
+ /**
+ * 鏀跺埌EventBUs閫氱煡
+ *
+ * @param eventBus 鏁版嵁
+ */
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventMessage(BaseEventBus eventBus) {
+ super.onEventMessage(eventBus);
+ if (ConstantManage.REFRESH_HOME_LIST.equals(eventBus.getTopic())) {
+ if (houseMoveAdapter != null) {
+ initData();
+ houseMoveAdapter.setList(houseListBeanIDList);
+ }
+ nullDataUpdateUi(houseListBeanIDList);//妫�娴嬫暟鎹槸鍚︿负绌�
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0