From d1ebb94e1a17b7c25d4fcf73d85345d92cc86b5c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 02 一月 2024 18:41:34 +0800 Subject: [PATCH] 2024年01月02日18:41:32 --- app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 47 insertions(+), 1 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java index 1568045..b86779f 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java @@ -3,8 +3,11 @@ import android.content.Intent; import android.os.Bundle; +import android.os.Handler; +import androidx.annotation.NonNull; import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.hdl.linkpm.sdk.core.exception.HDLException; @@ -37,6 +40,13 @@ private MessageAdapter messageNascentAdapter; private final List<MessageBean> mList = new ArrayList<>(); + + // 娣诲姞涓婃媺鍔犺浇鏇村鐨勯�昏緫 + private int visibleThreshold = 5; // 褰撳墠鏄剧ず鐨勬渶鍚庝竴椤逛笌鎬诲叡鏈夊灏戞潯鏁版嵁涔嬮棿鐨勫樊鍊� + private int currentPage = 1; // 褰撳墠椤电爜 + private boolean isLoadingMore = false; // 鏍囪姝e湪鍔犺浇鏇村鏁版嵁 + + LinearLayoutManager layoutManager; @Override public Object getContentView() { @@ -83,10 +93,24 @@ } }); + viewBinding.messageNascentRecyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() { + @Override + public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { + super.onScrolled(recyclerView, dx, dy); + +// int totalItemCount = layoutManager.getItemCount(); +// int lastVisibleItemPosition = layoutManager.findLastVisibleItemPosition(); +// +// if (!isLoadingMore && totalItemCount <= (lastVisibleItemPosition + visibleThreshold)) { +// loadNextPage(); +// } + } + }); } private void initView() { - viewBinding.messageNascentRecyclerview.setLayoutManager(new LinearLayoutManager(_mActivity)); + layoutManager = new LinearLayoutManager(_mActivity); + viewBinding.messageNascentRecyclerview.setLayoutManager(layoutManager); messageNascentAdapter = new MessageAdapter(this.mList, _mActivity); viewBinding.messageNascentRecyclerview.setAdapter(messageNascentAdapter); } @@ -104,6 +128,9 @@ @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onEventMessage(BaseEventBus eventBus) { super.onEventMessage(eventBus); + if (eventBus == null) { + return; + } //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢 if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) { if (eventBus.getType().equals(MessageFunctionTabSwitch.nascent.toString())) { @@ -166,4 +193,23 @@ }); } } + +// private void loadNextPage() { +// isLoadingMore = true; +// +// // 妯℃嫙缃戠粶璇锋眰鑾峰彇鏂扮殑鏁版嵁 +// Handler handler = new Handler(); +// handler.postDelayed(() -> { +// List<MessageBean> newData = fetchNewDataFromServer(currentPage++); +// messageNascentAdapter.setList(newData); +// isLoadingMore = false; +// }, 2000); +// } +// +// private List<MessageBean> fetchNewDataFromServer(int pageNumber) { +// // TODO: 浠庢湇鍔″櫒鑾峰彇鏂扮殑鏁版嵁骞惰繑鍥� +// pageNumber++; +// List<MessageBean> newData = HdlMessageLogic.getInstance().getAllMessageList(); +// return newData; +// } } -- Gitblit v1.8.0