瀏覽代碼

增加老师端我的课程页面加载更多隐藏loading

Pq 3 年之前
父節點
當前提交
6f8b597e58

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/contract/LiveCourseContract.java

@@ -15,6 +15,6 @@ public interface LiveCourseContract {
     }
 
     interface Presenter {
-        void queryLiveCourse(String month, String status, int subjectId,int page);
+        void queryLiveCourse(boolean isShowLoading,String month, String status, int subjectId,int page);
     }
 }

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/contract/SparringCourseContract.java

@@ -14,6 +14,6 @@ public interface SparringCourseContract {
     }
 
     interface Presenter {
-        void querySparringCourse(String month, String status, int subjectId,int page);
+        void querySparringCourse(boolean isShowLoading,String month, String status, int subjectId,int page);
     }
 }

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/contract/VideoCourseContract.java

@@ -16,6 +16,6 @@ public interface VideoCourseContract {
     }
 
     interface Presenter {
-        void queryVideoCourse(int subjectId, int page);
+        void queryVideoCourse(boolean isShowLoading,int subjectId, int page);
     }
 }

+ 2 - 2
teacher/src/main/java/com/cooleshow/teacher/presenter/course/LiveCoursePresenter.java

@@ -19,8 +19,8 @@ import org.json.JSONObject;
 public class LiveCoursePresenter extends BasePresenter<LiveCourseContract.LiveCourseView> implements LiveCourseContract.Presenter {
 
     @Override
-    public void queryLiveCourse(String month, String status, int subjectId, int page) {
-        if (getView() != null) {
+    public void queryLiveCourse(boolean isShowLoading, String month, String status, int subjectId, int page) {
+        if (isShowLoading && getView() != null) {
             getView().showLoading();
         }
         JSONObject jsonObject = new JSONObject();

+ 2 - 2
teacher/src/main/java/com/cooleshow/teacher/presenter/course/SparringCoursePresenter.java

@@ -17,8 +17,8 @@ import org.json.JSONObject;
 public class SparringCoursePresenter extends BasePresenter<SparringCourseContract.SparringCourseView> implements SparringCourseContract.Presenter {
 
     @Override
-    public void querySparringCourse(String month, String status, int subjectId, int page) {
-        if (getView() != null) {
+    public void querySparringCourse(boolean isShowLoading, String month, String status, int subjectId, int page) {
+        if (isShowLoading && getView() != null) {
             getView().showLoading();
         }
         JSONObject jsonObject = new JSONObject();

+ 2 - 2
teacher/src/main/java/com/cooleshow/teacher/presenter/course/VideoCoursePresenter.java

@@ -19,8 +19,8 @@ import org.json.JSONObject;
 public class VideoCoursePresenter extends BasePresenter<VideoCourseContract.VideoCourseView> implements VideoCourseContract.Presenter {
 
     @Override
-    public void queryVideoCourse(int subjectId, int page) {
-        if (getView() != null) {
+    public void queryVideoCourse(boolean isShowLoading, int subjectId, int page) {
+        if (isShowLoading && getView() != null) {
             getView().showLoading();
         }
         JSONObject jsonObject = new JSONObject();

+ 5 - 5
teacher/src/main/java/com/cooleshow/teacher/ui/course/LiveCourseFragment.java

@@ -94,7 +94,7 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
         currentCourseFilterStatus = !TextUtils.isEmpty(status) ? status : CourseFilterConstants.COURSE_FILTER_ALL;
         currentPage = 1;
         mViewBinding.tvTime.setText(currentFilterDate);
-        queryCourse();
+        queryCourse(true);
     }
 
     @Override
@@ -103,7 +103,7 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
             @Override
             public void onRefresh(@NonNull RefreshLayout refreshLayout) {
                 currentPage = 1;
-                queryCourse();
+                queryCourse(true);
             }
         });
 
@@ -114,7 +114,7 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
             public void onLoadMore() {
                 //上拉加载
                 currentPage++;
-                queryCourse();
+                queryCourse(false);
             }
         });
         mViewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
@@ -124,13 +124,13 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
         reBuildFilter(null, CourseFilterConstants.COURSE_FILTER_ALL);
     }
 
-    private void queryCourse() {
+    private void queryCourse(boolean isShowLoading) {
         //根据默认筛选条件查询
         LogUtils.i("pq", "currentFilterDate:" + currentFilterDate);
         LogUtils.i("pq", "currentCourseFilterStatus:" + currentCourseFilterStatus);
         LogUtils.i("pq", "currentSubjectId:" + currentSubjectId);
         LogUtils.i("pq", "currentPage:" + currentPage);
-        presenter.queryLiveCourse(currentFilterDate, currentCourseFilterStatus, currentSubjectId, currentPage);
+        presenter.queryLiveCourse(isShowLoading, currentFilterDate, currentCourseFilterStatus, currentSubjectId, currentPage);
     }
 
     @Override

+ 5 - 5
teacher/src/main/java/com/cooleshow/teacher/ui/course/SparringCourseFragment.java

@@ -92,7 +92,7 @@ public class SparringCourseFragment extends BaseMVPFragment<FragmentSparringCour
         currentCourseFilterStatus = !TextUtils.isEmpty(status) ? status : CourseFilterConstants.COURSE_FILTER_ALL;
         currentPage = 1;
         mViewBinding.tvTime.setText(currentFilterDate);
-        queryCourse();
+        queryCourse(true);
     }
 
 
@@ -102,7 +102,7 @@ public class SparringCourseFragment extends BaseMVPFragment<FragmentSparringCour
             @Override
             public void onRefresh(@NonNull RefreshLayout refreshLayout) {
                 currentPage = 1;
-                queryCourse();
+                queryCourse(true);
             }
         });
 
@@ -112,7 +112,7 @@ public class SparringCourseFragment extends BaseMVPFragment<FragmentSparringCour
             public void onLoadMore() {
                 //上拉加载
                 currentPage++;
-                queryCourse();
+                queryCourse(false);
             }
         });
         mViewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
@@ -121,13 +121,13 @@ public class SparringCourseFragment extends BaseMVPFragment<FragmentSparringCour
         reBuildFilter(null, CourseFilterConstants.COURSE_FILTER_ALL);
     }
 
-    private void queryCourse() {
+    private void queryCourse(boolean isShowLoading) {
         //根据默认筛选条件查询
         LogUtils.i("pq", "currentFilterDate:" + currentFilterDate);
         LogUtils.i("pq", "currentCourseFilterStatus:" + currentCourseFilterStatus);
         LogUtils.i("pq", "currentSubjectId:" + currentSubjectId);
         LogUtils.i("pq", "currentPage:" + currentPage);
-        presenter.querySparringCourse(currentFilterDate, currentCourseFilterStatus, currentSubjectId, currentPage);
+        presenter.querySparringCourse(isShowLoading,currentFilterDate, currentCourseFilterStatus, currentSubjectId, currentPage);
     }
 
     @Override

+ 31 - 10
teacher/src/main/java/com/cooleshow/teacher/ui/course/VideoCourseFragment.java

@@ -82,7 +82,7 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
 
     private void reBuildFilter() {
         currentPage = 1;
-        queryCourse();
+        queryCourse(true);
     }
 
 
@@ -91,8 +91,7 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
         mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
             @Override
             public void onRefresh(@NonNull RefreshLayout refreshLayout) {
-                currentPage = 1;
-                queryCourse();
+                refresh();
             }
         });
 
@@ -101,10 +100,13 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
             @Override
             public void onLoadMore() {
                 //上拉加载
-                currentPage++;
-                queryCourse();
+               loadMore();
             }
         });
+        mAdapter.getLoadMoreModule().setAutoLoadMore(true);
+        //当自动加载开启,同时数据不满一屏时,是否继续执行自动加载更多(默认为true)
+        mAdapter.getLoadMoreModule().setEnableLoadMoreIfNotFullPage(false);
+
         GridLayoutManager gridLayoutManager = new GridLayoutManager(requireContext(), 2);
         gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
             @Override
@@ -124,11 +126,28 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
         reBuildFilter();
     }
 
-    private void queryCourse() {
+
+    /**
+     * 刷新
+     */
+    private void refresh() {
+        // 这里的作用是防止下拉刷新的时候还可以上拉加载
+        mAdapter.getLoadMoreModule().setEnableLoadMore(false);
+        // 下拉刷新,需要重置页数
+        currentPage = 1;
+        queryCourse(true);
+    }
+
+    private void loadMore(){
+        currentPage++;
+        queryCourse(false);
+    }
+
+    private void queryCourse(boolean isShowLoading) {
         //根据默认筛选条件查询
         LogUtils.i("pq", "currentSubjectId:" + currentSubjectId);
         LogUtils.i("pq", "currentPage:" + currentPage);
-        presenter.queryVideoCourse(currentSubjectId, currentPage);
+        presenter.queryVideoCourse(isShowLoading, currentSubjectId, currentPage);
     }
 
 
@@ -138,9 +157,10 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
             return;
         }
         if (liveCourseListBean != null) {
+            mViewBinding.refreshLayout.finishRefresh();
+            mAdapter.getLoadMoreModule().setEnableLoadMore(true);
             if (page == 1) {
                 //第一页
-                mViewBinding.refreshLayout.finishRefresh();
                 if (mAdapter != null) {
                     mAdapter.getData().clear();
                     mAdapter.notifyDataSetChanged();
@@ -154,10 +174,10 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
                 //加载更多
                 if (mAdapter != null) {
                     if (liveCourseListBean.rows != null && liveCourseListBean.rows.size() > 0) {
-                        mAdapter.getLoadMoreModule().loadMoreComplete();
                         mAdapter.addData(liveCourseListBean.rows);
+                        mAdapter.getLoadMoreModule().loadMoreComplete();
                     } else {
-                        mAdapter.getLoadMoreModule().loadMoreEnd(false);
+                        mAdapter.getLoadMoreModule().loadMoreEnd();
                     }
                 }
             }
@@ -174,6 +194,7 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
         } else {
             if (mAdapter != null) {
                 currentPage--;
+                mAdapter.getLoadMoreModule().setEnableLoadMore(true);
                 mAdapter.getLoadMoreModule().loadMoreFail();
             }
         }

+ 8 - 8
teacher/src/main/res/layout/item_video_course_list_layout.xml

@@ -15,12 +15,12 @@
         app:layout_constraintTop_toTopOf="parent"
         app:qmui_corner_radius="5dp" />
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:background="@drawable/bg_white_bottom_10dp"
-        app:layout_constraintBottom_toBottomOf="@+id/tv_price"
-        app:layout_constraintTop_toBottomOf="@+id/iv_bg" />
+<!--    <View-->
+<!--        android:layout_width="match_parent"-->
+<!--        android:layout_height="0dp"-->
+<!--        android:background="@drawable/bg_white_bottom_10dp"-->
+<!--        app:layout_constraintBottom_toBottomOf="@+id/tv_price"-->
+<!--        app:layout_constraintTop_toBottomOf="@+id/iv_bg" />-->
 
     <TextView
         android:id="@+id/tv_title"
@@ -66,7 +66,7 @@
         android:id="@+id/view_line2"
         android:layout_width="1dp"
         android:layout_height="11dp"
-        android:layout_marginStart="8dp"
+        android:layout_marginStart="6dp"
         android:background="@color/color_d3d3d3"
         android:visibility="visible"
         app:layout_constraintBottom_toBottomOf="@+id/tv_author_name"
@@ -77,7 +77,7 @@
         android:id="@+id/tv_buy_num"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginStart="8dp"
+        android:layout_marginStart="6dp"
         android:includeFontPadding="false"
         android:textColor="@color/color_ff802c"
         android:textSize="@dimen/sp_11"