wjc
2025-04-28 1a5dbd95a4b61c3c94555bc799a1821aa07930e7
app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
@@ -3,8 +3,9 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.view.View;
import android.widget.TextView;
@@ -35,6 +36,8 @@
import com.hdl.photovoltaic.ui.newC.adapter.MessageCenterListAdapter;
import com.hdl.photovoltaic.uni.HDLUniMP;
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.Subscribe;
@@ -49,6 +52,9 @@
 * C端消息中心列表
 */
public class MessageCenterList extends CustomBaseActivity {
    private Handler handler;
    private Runnable delayedRunnable;
    private ActivityMessageCenterListBinding viewBinding;
@@ -89,7 +95,7 @@
    @Override
    public void onBindView(Bundle savedInstanceState) {
        setStatusBarTranslucent();
        getWindow().setNavigationBarColor(getColor(R.color.text_FF333738));
        getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E));
        //初始化数据
        initData();
        //初始化
@@ -107,6 +113,14 @@
        super.onResume();
        //进来读取一次数据(为了更新currentPage,currentTotal这个值)
//        loadNextPageMessageList(1, true, mFilterKye, mFilterValue);
    }
    @Override
    protected void onDestroy() {
        if (handler != null && delayedRunnable != null) {
            handler.removeCallbacks(delayedRunnable);
        }
        super.onDestroy();
    }
    private void initEvent() {
@@ -282,38 +296,6 @@
            }
        });
        //下拉按钮
        viewBinding.messageContentSrl.setColorSchemeResources(R.color.text_FF245EC3);
        viewBinding.messageContentSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                viewBinding.messageContentSrl.setRefreshing(false);
                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
            }
        });
        //上拉按钮
        viewBinding.messageContentRl.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(++mCurrentPage, false, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
                    }
                }
            }
        });
        if (messageCenterListAdapter != null) {
            messageCenterListAdapter.setNoOnclickListener(new MessageCenterListAdapter.OnclickListener() {
                @Override
@@ -332,7 +314,7 @@
        viewBinding.toolbarTopMessageCenterListRl.topBackLl.setVisibility(View.VISIBLE);
        viewBinding.toolbarTopMessageCenterListRl.topTitleTv.setText(R.string.set_message_center);
        viewBinding.toolbarTopMessageCenterListRl.topMoreBtn.setVisibility(View.VISIBLE);
        viewBinding.toolbarTopMessageCenterListRl.topMoreIv.setImageResource(R.drawable.clearall);
        viewBinding.toolbarTopMessageCenterListRl.topMoreIv.setImageResource(R.drawable.clear_all);
        //默认选中全部设备
        viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
        viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
@@ -344,7 +326,9 @@
        viewBinding.messageContentRl.setAdapter(messageCenterListAdapter);
        messageCenterListAdapter.setList(mList);
//        this.nullDataUpdateUi();
        pullToRefresh();
    }
    private void initData() {
        try {
@@ -364,6 +348,55 @@
            }
        } catch (Exception ignored) {
        }
    }
    /**
     * 下拉刷新的逻辑
     */
    protected void pullToRefresh() {
        viewBinding.messageContentSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() {
            @Override
            public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) {
                handler = new Handler(Looper.getMainLooper());
                delayedRunnable = new Runnable() {
                    @Override
                    public void run() {
                        viewBinding.messageContentSrl.endRefreshing();
                        loadNextPageMessageList(1, false, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
                    }
                };
                // 延迟 5 秒执行
                handler.postDelayed(delayedRunnable, 1000);
            }
            @Override
            public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) {
                handler = new Handler(Looper.getMainLooper());
                delayedRunnable = new Runnable() {
                    @Override
                    public void run() {
                        viewBinding.messageContentSrl.endLoadingMore();
                        if (!isLoadingMore) {
                            // 滑动到了底部,执行相应的操作
                            HdlLogLogic.print("--->滑动到了底部");
                            loadNextPageMessageList(++mCurrentPage, false, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
                        }
                    }
                };
                // 延迟 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.messageContentSrl.setRefreshViewHolder(hdlRefreshViewHolder);
    }
    /**
@@ -434,6 +467,7 @@
                        if (isShowLoading) {
                            hideLoading();
                        }
                        HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
                    }
                });