王鹏鹏 преди 2 години
родител
ревизия
f1d04f2925

+ 14 - 9
livebroadcast/src/main/java/com/yingyang/livebroadcast/activity/list/LiveBroadcastListActivity.kt

@@ -12,7 +12,6 @@ import com.yingyang.livebroadcast.entity.ReservationLiveBean
 import com.yingyang.livebroadcast.net.XLivebroadcastServiceFactory
 import com.yingyangfly.baselib.dialog.TipDialogFragment
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
-import com.yingyangfly.baselib.ext.show
 import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.net.BaseObserver
@@ -55,13 +54,15 @@ class LiveBroadcastListActivity :
     /**
      * 直播adapter
      */
+    private var gridLayoutManager: GridLayoutManager? = null
     private val liveBroadcastAdapter by lazy { LiveBroadcastAdapter() }
 
     override fun initViews() {
         enableLoadMore(true)
         enableRefresh(true)
         binding {
-            rvLiveBroadcast.layoutManager = GridLayoutManager(mContext, 2)
+            gridLayoutManager = GridLayoutManager(mContext, 2)
+            rvLiveBroadcast.layoutManager = gridLayoutManager
             rvLiveBroadcast.adapter = liveBroadcastAdapter
             liveBroadcastAdapter.setData(liveBroadcastList)
             liveBroadcastAdapter.onLiveBroadcastImageClickListener = { url, method, title, id ->
@@ -86,10 +87,8 @@ class LiveBroadcastListActivity :
 
             }
             radioLive.setOnCheckedChangeListener { group, checkedId ->
-                binding {
-                    rvLiveBroadcast.show(true)
-                    emptyLayout.show(false)
-                }
+                liveBroadcastAdapter.clearData()
+                liveBroadcastAdapter.showEmptyView = false
                 when (checkedId) {
                     R.id.rdb_appointment -> {
                         method = "1"
@@ -114,6 +113,8 @@ class LiveBroadcastListActivity :
     override fun onRefresh(refreshLayout: RefreshLayout) {
         super.onRefresh(refreshLayout)
         loadData(true)
+        liveBroadcastAdapter.clearData()
+        liveBroadcastAdapter.showEmptyView = false
     }
 
     override fun onLoadMore(refreshLayout: RefreshLayout) {
@@ -155,6 +156,8 @@ class LiveBroadcastListActivity :
 
     override fun initData() {
         liveBroadcastAdapter.setType("预约直播")
+        liveBroadcastAdapter.clearData()
+        liveBroadcastAdapter.showEmptyView = false
         loadData(true)
     }
 
@@ -183,10 +186,12 @@ class LiveBroadcastListActivity :
                     finishLoadMoreWithNoMoreData()
                 }
             }
-            binding {
-                rvLiveBroadcast.show(liveBroadcastList.isNullOrEmpty().not())
-                emptyLayout.show(liveBroadcastList.isNullOrEmpty())
+            if (liveBroadcastList.isNullOrEmpty()) {
+                gridLayoutManager?.spanCount = 1
+            } else {
+                gridLayoutManager?.spanCount = 2
             }
+            liveBroadcastAdapter.showEmptyView = liveBroadcastList.isNullOrEmpty()
             liveBroadcastAdapter.setData(liveBroadcastList)
         })
     }

+ 0 - 17
livebroadcast/src/main/res/layout/activity_live_broadcast_list.xml

@@ -84,23 +84,6 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/radioLive" />
 
-        <LinearLayout
-            android:id="@+id/emptyLayout"
-            style="@style/empty_linear_layout_style"
-            android:layout_marginLeft="@dimen/divider_60px"
-            android:layout_marginTop="@dimen/divider_47px"
-            android:layout_marginRight="@dimen/divider_60px"
-            android:visibility="gone"
-            app:layout_constraintTop_toBottomOf="@+id/radioLive"
-            tools:ignore="MissingConstraints">
-
-            <androidx.appcompat.widget.AppCompatImageView style="@style/empty_image_view_style" />
-
-            <androidx.appcompat.widget.AppCompatTextView style="@style/empty_text_view_style" />
-
-        </LinearLayout>
-
-
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 </layout>