From 382d057f20369b001fe585ab3027bf5a4cd27539 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 09 四月 2025 17:49:40 +0800 Subject: [PATCH] 2025年04月09日17:49:01 --- app/src/main/res/layout/fragment_house_list.xml | 14 + app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java | 109 +++++++++---- app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 7 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 297 ++++++++++++++++++++++--------------- app/src/main/res/layout/fragment_message.xml | 10 app/src/main/res/layout/item_message.xml | 1 app/src/main/res/layout/item_plant_details.xml | 1 app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java | 2 app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java | 2 9 files changed, 274 insertions(+), 169 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java index 8edfab2..05d0f10 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java @@ -24,7 +24,7 @@ public class HdlMessageLogic { private static volatile HdlMessageLogic sHdlMessageLogic; - private final int pageSize = 50;//椤垫暟 + private final int pageSize = 100;//椤垫暟 private List<MessageBean> mListMessage = new ArrayList<>(); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java index d73a6e3..b16a231 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java @@ -143,7 +143,7 @@ if (savedInstanceState != null) { //鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍� currentFragmentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 0); - if (fragmentList.size() != 0) { + if (!fragmentList.isEmpty()) { fragmentList.clear(); } fragmentList.add(mFragmentManager.findFragmentByTag(0 + "")); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java index fb3783c..ed0af8e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java @@ -467,11 +467,14 @@ viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE); viewBinding.autoSizeMyAAChart.setBackgroundColor(_mActivity.getColor(R.color.text_FF1C1C1E)); setUpAAChartView(true);//鍥捐〃鍔犺浇 - processLogic(); + pullToRefresh(); } - protected void processLogic() { + /** + * 涓嬫媺鍒锋柊鐨勯�昏緫 + */ + protected void pullToRefresh() { viewBinding.rsl.setDelegate(this); HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true); hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java index 5b8011c..0b879ce 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java @@ -3,6 +3,7 @@ import android.annotation.SuppressLint; import android.content.DialogInterface; import android.content.Intent; +import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.widget.TextView; @@ -32,6 +33,8 @@ import com.hdl.photovoltaic.ui.bean.UnCountBean; import com.hdl.photovoltaic.widget.BTypeTitleListDialog; import com.hdl.photovoltaic.widget.TypeTitleListDialog; +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.EventBus; @@ -160,17 +163,17 @@ viewBinding.allClearIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - showLoading(); +// showLoading(); HdlMessageLogic.getInstance().messageAllRead("", new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { - hideLoading(); +// hideLoading(); loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true); } @Override public void onFailure(HDLException e) { - hideLoading(); +// hideLoading(); HdlThreadLogic.toast(_mActivity, e); } }); @@ -207,38 +210,6 @@ viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down); viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.up); setTypeTitleListDialog(viewBinding.allTimeTitleTv, FilterType.timeType, getTypeList(FilterType.timeType)); - } - }); - - //涓嬫媺鎸夐挳 - viewBinding.messageSrl.setColorSchemeResources(R.color.text_FF245EC3); - viewBinding.messageSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - viewBinding.messageSrl.setRefreshing(false); - loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true); - } - }); - //涓婃媺鎸夐挳 - viewBinding.messageRcv.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { -// super.onScrolled(recyclerView, dx, dy); - - LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); - if (layoutManager == null) { - return; - } - int visibleItemCount = layoutManager.getChildCount(); - int totalItemCount = layoutManager.getItemCount(); - int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); - if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) { - if (!isLoadingMore) { - // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 - HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴"); - loadNextPageMessageList(false, ++mCurrentPage, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, false); - } - } } }); if (mMessageAdapter != null) { @@ -313,8 +284,76 @@ mMessageAdapter = new MessageAdapter(_mActivity); viewBinding.messageRcv.setLayoutManager(new LinearLayoutManager(_mActivity)); viewBinding.messageRcv.setAdapter(mMessageAdapter); + pullToRefresh(); } + /** + * 涓嬫媺鍒锋柊鐨勯�昏緫 + */ + protected void pullToRefresh() { + viewBinding.messageSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + new AsyncTask<Void, Void, Void>() { + + @Override + protected Void doInBackground(Void... params) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + // 鎵ц浠诲姟锛堝鏇存柊UI銆佽烦杞瓑锛� + viewBinding.messageSrl.endRefreshing(); + loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true); + + } + }.execute(); + + + } + + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + new AsyncTask<Void, Void, Void>() { + @Override + protected Void doInBackground(Void... params) { + try { + Thread.sleep(10); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + viewBinding.messageSrl.endLoadingMore(); + //鍔犺浇鏈�鏂版暟鎹畬鎴� + if (!isLoadingMore) { + // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 + loadNextPageMessageList(false, ++mCurrentPage, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, false); + } + } + }.execute(); + 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.messageSrl.setRefreshViewHolder(hdlRefreshViewHolder); + } + + + private void initData() { //杩涙潵璇诲彇涓�娆℃暟鎹�(涓轰簡鏇存柊currentPage锛宑urrentTotal杩欎釜鍊�),app鍚姩鏃跺�欒鍙栵紝涓轰簡鍒锋柊娑堟伅妯″潡鐨勮鏍� loadNextPageMessageList(true, 1, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, true); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java index 4d7c7e4..f1fe445 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java @@ -5,11 +5,14 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.location.LocationManager; +import android.os.AsyncTask; import android.os.Bundle; import android.provider.Settings; import android.view.View; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.RelativeLayout; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.appcompat.content.res.AppCompatResources; @@ -55,6 +58,8 @@ import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.photovoltaic.widget.DefaultFilteringDialog; import com.hdl.photovoltaic.widget.DelayedConfirmationCancelDialog; +import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout; +import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder; import com.hdl.sdk.link.common.exception.HDLLinkException; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; @@ -99,7 +104,7 @@ private String screeningConditionStatus = DebugStatus.All;//绛涢�夋潯浠剁姸鎬� private String powerStationStatusValue = PowerStationStatus.All;//鐢电珯鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,1:姝e父(杩愯),2:绂荤嚎,3:寰呮帴鍏�,4:鏁呴殰) - private final long pageSize = 20;//椤垫暟 + private final long pageSize = 100;//涓�椤靛ぇ灏� /** * 杩樺師鏉′欢鐨勫垵濮嬪寲鐘舵�� @@ -166,15 +171,7 @@ return; } powerStationStatusValue = PowerStationStatus.All; - viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff)); - viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - - viewBinding.allDesTv.setTextColor(getResources().getColor(R.color.text_FFACACAC)); - viewBinding.faultsDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.offlineDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.connectedDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); + stationStatusStyle(viewBinding.allLl,viewBinding.allDesTv); getStatusOverview(); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true); } @@ -187,15 +184,7 @@ return; } powerStationStatusValue = PowerStationStatus.malfunction; - viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff)); - viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - - viewBinding.allDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.faultsDesTv.setTextColor(getResources().getColor(R.color.text_FFACACAC)); - viewBinding.offlineDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.connectedDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); + stationStatusStyle(viewBinding.faultsLl,viewBinding.faultsDesTv); getStatusOverview(); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true); } @@ -208,15 +197,7 @@ return; } powerStationStatusValue = PowerStationStatus.off; - viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff)); - viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - - viewBinding.allDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.faultsDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.offlineDesTv.setTextColor(getResources().getColor(R.color.text_FFACACAC)); - viewBinding.connectedDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); + stationStatusStyle(viewBinding.offlineLl,viewBinding.offlineDesTv); getStatusOverview(); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true); } @@ -229,14 +210,7 @@ return; } powerStationStatusValue = PowerStationStatus.connecting; - viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff)); - viewBinding.allDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.faultsDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.offlineDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.connectedDesTv.setTextColor(getResources().getColor(R.color.text_FFACACAC)); + stationStatusStyle(viewBinding.connectedLl,viewBinding.connectedDesTv); getStatusOverview(); loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true); } @@ -283,40 +257,6 @@ loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true); } }); - } - }); - - //鐢电珯璁剧疆涓嬫媺绠ご棰滆壊 - viewBinding.fragmentHouseSrl.setColorSchemeResources(R.color.text_FF245EC3); - //鐢电珯涓嬫媺璇诲彇 - viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - viewBinding.fragmentHouseSrl.setRefreshing(false); - loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true); - getStatusOverview(); - } - }); - //鐢电珯涓婃媺璇诲彇 - viewBinding.fragmentHouseSrlListRc.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { -// super.onScrolled(recyclerView, dx, dy); - - LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); - if (layoutManager == null) { - return; - } - int visibleItemCount = layoutManager.getChildCount(); - int totalItemCount = layoutManager.getItemCount(); - int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); - if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) { - if (!isHouseLoadingMore) { - // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 - HdlLogLogic.print("---婊戝姩鍒颁簡搴曢儴"); - loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, ++currentHouseListPage, false); - } - } } }); //鐢电珯璇︽儏杩涘叆,鍒犻櫎鐢电珯,绉诲姩鐢电珯浣嶇疆 @@ -421,7 +361,7 @@ @Override public void onClick(View v) { boolean isSelected = !v.isSelected(); - screenIconState(viewBinding.stationNameRl, viewBinding.stationNameIv, isSelected); + screeningConditionStyle(viewBinding.stationNameRl, viewBinding.stationNameIv, isSelected); key = SortType.installedCapacitySort; value = isSelected ? SortValue.ascending : SortValue.descending; getStatusOverview(); @@ -433,7 +373,7 @@ @Override public void onClick(View v) { boolean isSelected = !v.isSelected(); - screenIconState(viewBinding.stationPowerRl, viewBinding.stationPowerIv, isSelected); + screeningConditionStyle(viewBinding.stationPowerRl, viewBinding.stationPowerIv, isSelected); key = SortType.invPowerSort; value = isSelected ? SortValue.ascending : SortValue.descending; getStatusOverview(); @@ -445,7 +385,7 @@ @Override public void onClick(View v) { boolean isSelected = !v.isSelected(); - screenIconState(viewBinding.stationMonthRl, viewBinding.stationMonthIv, isSelected); + screeningConditionStyle(viewBinding.stationMonthRl, viewBinding.stationMonthIv, isSelected); key = SortType.batteryCapacitySort; value = isSelected ? SortValue.ascending : SortValue.descending; getStatusOverview(); @@ -457,7 +397,7 @@ @Override public void onClick(View v) { boolean isSelected = !v.isSelected(); - screenIconState(viewBinding.stationDayRl, viewBinding.stationDayIv, isSelected); + screeningConditionStyle(viewBinding.stationDayRl, viewBinding.stationDayIv, isSelected); key = SortType.todayElectricitySort; value = isSelected ? SortValue.ascending : SortValue.descending; getStatusOverview(); @@ -508,38 +448,6 @@ }); } }); - //璁惧璁剧疆涓嬫媺绠ご棰滆壊 - viewBinding.fragmentDeviceSrl.setColorSchemeResources(R.color.text_FF245EC3); - //璁惧涓嬫媺璇诲彇 - viewBinding.fragmentDeviceSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - viewBinding.fragmentDeviceSrl.setRefreshing(false); - loadNextPageDeviceList(false, 1, true); - } - }); - //璁惧涓婃媺璇诲彇 - viewBinding.fragmentDeviceSrlListRc.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { -// super.onScrolled(recyclerView, dx, dy); - - LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); - if (layoutManager == null) { - return; - } - int visibleItemCount = layoutManager.getChildCount(); - int totalItemCount = layoutManager.getItemCount(); - int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); - if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) { - if (!isDeviceLoadingMore) { - // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 - HdlLogLogic.print("---婊戝姩鍒颁簡搴曢儴"); - loadNextPageDeviceList(false, ++currentDeviceListPage, false); - } - } - } - }); //璁惧鎼滅储 viewBinding.deviceSearchCl.setOnClickListener(new View.OnClickListener() { @Override @@ -552,14 +460,36 @@ } + /** - * 鏇存柊绛涢�夋潯浠剁姸鎬� + * 鏇存柊绛涢�夌數绔欑姸鎬佹牱寮� + * + * @param ll 缁勪欢鍚嶇О + * @param tv 缁勪欢鍚嶇О + */ + private void stationStatusStyle(LinearLayout ll, TextView tv) { + viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); + viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); + viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); + viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); + viewBinding.allDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); + viewBinding.faultsDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); + viewBinding.offlineDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); + viewBinding.connectedDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); + + ll.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff)); + tv.setTextColor(getResources().getColor(R.color.text_FFACACAC)); + + } + + /** + * 鏇存柊绛涢�夋潯浠剁姸鎬佹牱寮� * * @param relativeLayout 缁勪欢鍚嶇О * @param imageView 缁勪欢鍚嶇О * @param isSelected 鐘舵�� */ - private void screenIconState(RelativeLayout relativeLayout, ImageView imageView, boolean isSelected) { + private void screeningConditionStyle(RelativeLayout relativeLayout, ImageView imageView, boolean isSelected) { viewBinding.stationNameRl.setSelected(false); viewBinding.stationNameIv.setSelected(false); viewBinding.stationPowerRl.setSelected(false); @@ -572,18 +502,12 @@ imageView.setSelected(isSelected); } + private void initView() { viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE); viewBinding.deviceLabelParent.setVisibility(View.GONE); - viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff)); - viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff)); - viewBinding.allDesTv.setTextColor(getResources().getColor(R.color.text_FFACACAC)); - viewBinding.faultsDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.offlineDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); - viewBinding.connectedDesTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B)); + stationStatusStyle(viewBinding.allLl,viewBinding.allDesTv); //鐢电珯鏍囩 houseInfoAdapter = new HouseInfoAdapter(_mActivity); viewBinding.fragmentHouseSrlListRc.setLayoutManager(new LinearLayoutManager(_mActivity)); @@ -594,7 +518,12 @@ deviceInfoAdapter = new DeviceInfoAdapter(_mActivity); viewBinding.fragmentDeviceSrlListRc.setLayoutManager(new LinearLayoutManager(_mActivity)); viewBinding.fragmentDeviceSrlListRc.setAdapter(deviceInfoAdapter); + // // this.nullDataUpdateUi(); + //涓嬫媺鍒锋柊浣忓畢鐨勯�昏緫 + pullToRefreshHome(); + //涓嬫媺鍒锋柊璁惧鐨勯�昏緫 + pullToRefreshDevice(); } @@ -800,7 +729,7 @@ /** * 鍒锋柊UI锛堢數绔欙級 * - * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑 + * @param isRefreshing 鏄惁鏄剧ず鍔犺浇妗嗭紙true鏄剧ず锛宖alse涓嶆樉绀猴級 * @param key 鍙戠數鍔熺巼鎺掑簭(powerSort); * 浠婃棩鍙戠數閲忔帓搴�(todayElectricitySort); * 鍒涘缓鏃堕棿鎺掑簭(createTimeSort); @@ -880,7 +809,7 @@ /** * 鍒锋柊UI锛堣澶囷級 * - * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑 + * @param isRefreshing 鏄惁鏄剧ず鍔犺浇妗嗭紙true鏄剧ず锛宖alse涓嶆樉绀猴級 * @param pageNo 椤电爜 * @param isClear true琛ㄧず娓呯┖缂撳瓨 */ @@ -976,12 +905,12 @@ boolean is_data; String tipText = ""; if (isClickPowerStationLabel) { - is_data = houseListBeanIDList != null && houseListBeanIDList.size() > 0; + is_data = houseListBeanIDList != null && !houseListBeanIDList.isEmpty(); tipText = getString(R.string.my_power_station_data_null); HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.homeNullDataIc.getRoot(), viewBinding.homeNullDataIc.nullDataGifAnimationIv, viewBinding.homeNullDataIc.nullDataTv, tipText, is_data); } else { - is_data = deviceInfoList != null && deviceInfoList.size() > 0; + is_data = deviceInfoList != null && !deviceInfoList.isEmpty(); tipText = getString(R.string.no_equipment); HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.deviceNullDataIc.getRoot(), viewBinding.deviceNullDataIc.nullDataGifAnimationIv, viewBinding.deviceNullDataIc.nullDataTv, tipText, is_data); @@ -1123,4 +1052,132 @@ } } + + + /** + * 涓嬫媺鍒锋柊銆愪綇瀹呫�戠殑閫昏緫 + */ + protected void pullToRefreshHome() { + viewBinding.fragmentHouseSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + new AsyncTask<Void, Void, Void>() { + + @Override + protected Void doInBackground(Void... params) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + // 鎵ц浠诲姟锛堝鏇存柊UI銆佽烦杞瓑锛� + viewBinding.fragmentHouseSrl.endRefreshing(); + //鍔犺浇鏈�鏂版暟鎹畬鎴� + loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true); + getStatusOverview(); + } + }.execute(); + + + } + + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + new AsyncTask<Void, Void, Void>() { + @Override + protected Void doInBackground(Void... params) { + try { + Thread.sleep(10); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + viewBinding.fragmentHouseSrl.endLoadingMore(); + if (!isHouseLoadingMore) { + // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 + loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, ++currentHouseListPage, false); + } + } + }.execute(); + 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); + } + + /** + * 涓嬫媺鍒锋柊銆愯澶囥�戠殑閫昏緫 + */ + protected void pullToRefreshDevice() { + viewBinding.fragmentDeviceSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + + new AsyncTask<Void, Void, Void>() { + @Override + protected Void doInBackground(Void... params) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + viewBinding.fragmentDeviceSrl.endRefreshing(); + loadNextPageDeviceList(true, 1, true); + } + }.execute(); + } + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + new AsyncTask<Void, Void, Void>() { + @Override + protected Void doInBackground(Void... params) { + try { + Thread.sleep(10); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + // 鎵ц浠诲姟锛堝鏇存柊UI銆佽烦杞瓑锛� + viewBinding.fragmentDeviceSrl.endLoadingMore(); + if (!isDeviceLoadingMore) { + // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 + loadNextPageDeviceList(false, ++currentDeviceListPage, false); + } + } + }.execute(); + 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.fragmentDeviceSrl.setRefreshViewHolder(hdlRefreshViewHolder); + } + + } diff --git a/app/src/main/res/layout/fragment_house_list.xml b/app/src/main/res/layout/fragment_house_list.xml index 0042957..0bdc995 100644 --- a/app/src/main/res/layout/fragment_house_list.xml +++ b/app/src/main/res/layout/fragment_house_list.xml @@ -414,11 +414,11 @@ </androidx.constraintlayout.widget.ConstraintLayout> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout + <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout android:id="@+id/fragment_house_srl" android:layout_width="match_parent" android:layout_height="0dp" - android:layout_marginTop="18.5dp" + android:layout_marginTop="10dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -427,8 +427,10 @@ <androidx.recyclerview.widget.RecyclerView android:id="@+id/fragment_house_srl_list_rc" android:layout_width="match_parent" - android:layout_height="match_parent" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> + android:layout_height="match_parent" + android:clipToPadding="false" + android:paddingBottom="@dimen/dp_10" /> + </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> <!--娌℃湁鏁版嵁鏄剧ず鏍峰紡--> <include android:id="@+id/home_null_data_ic" @@ -500,7 +502,7 @@ </androidx.constraintlayout.widget.ConstraintLayout> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout + <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout android:id="@+id/fragment_device_srl" android:layout_width="match_parent" android:layout_height="0dp" @@ -515,7 +517,7 @@ android:layout_height="match_parent" android:clipToPadding="false" android:paddingBottom="@dimen/dp_10" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> + </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> <!--娌℃湁鏁版嵁鏄剧ず鏍峰紡--> <include diff --git a/app/src/main/res/layout/fragment_message.xml b/app/src/main/res/layout/fragment_message.xml index f73f310..647f41b 100644 --- a/app/src/main/res/layout/fragment_message.xml +++ b/app/src/main/res/layout/fragment_message.xml @@ -53,7 +53,7 @@ <LinearLayout android:id="@+id/message_cl" android:layout_width="match_parent" - android:layout_height="98dp" + android:layout_height="77dp" android:layout_marginTop="@dimen/dp_10" android:orientation="vertical" app:layout_constraintEnd_toEndOf="parent" @@ -105,8 +105,9 @@ <LinearLayout android:id="@+id/message_tab_ll" android:layout_width="match_parent" - android:layout_height="@dimen/dp_62" + android:layout_height="@dimen/dp_22" android:layout_marginStart="@dimen/dp_16" + android:layout_marginTop="@dimen/dp_20" android:layout_marginEnd="@dimen/dp_16" android:orientation="horizontal"> <!--鍏ㄩ儴璁惧--> @@ -205,10 +206,11 @@ </LinearLayout> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout + <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout android:id="@+id/message_srl" android:layout_width="match_parent" android:layout_height="0dp" + android:layout_marginTop="@dimen/dp_10" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -222,7 +224,7 @@ android:id="@+id/message_rcv" android:layout_width="match_parent" android:layout_height="match_parent" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> + </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> <!--娌℃湁鏁版嵁鏄剧ず鏍峰紡--> <include diff --git a/app/src/main/res/layout/item_message.xml b/app/src/main/res/layout/item_message.xml index a31dcc5..dffda21 100644 --- a/app/src/main/res/layout/item_message.xml +++ b/app/src/main/res/layout/item_message.xml @@ -5,6 +5,7 @@ android:layout_height="117.5dp"> <androidx.constraintlayout.widget.ConstraintLayout + android:layout_marginTop="@dimen/dp_10" android:layout_width="0dp" android:layout_height="107.5dp" android:layout_marginStart="@dimen/dp_16" diff --git a/app/src/main/res/layout/item_plant_details.xml b/app/src/main/res/layout/item_plant_details.xml index a0967e9..49f9276 100644 --- a/app/src/main/res/layout/item_plant_details.xml +++ b/app/src/main/res/layout/item_plant_details.xml @@ -19,6 +19,7 @@ android:layout_width="match_parent" android:layout_height="194.5dp" android:layout_marginStart="@dimen/dp_16" + android:layout_marginTop="@dimen/dp_10" android:layout_marginEnd="@dimen/dp_16" android:background="@drawable/bj_ff1c1c1e"> <!--鐢电珯鍥剧墖--> -- Gitblit v1.8.0