From ec282d9bf134fbda578ff901e4a620222a851d3f Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期三, 20 十一月 2024 10:14:46 +0800
Subject: [PATCH] fix bug
---
app/src/main/java/com/sinata/xqmuse/ui/course/MyCourseActivity.kt | 143 +++++++++++++++++++----------------------------
1 files changed, 58 insertions(+), 85 deletions(-)
diff --git a/app/src/main/java/com/sinata/xqmuse/ui/course/MyCourseActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/course/MyCourseActivity.kt
index 674919d..e056b12 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/course/MyCourseActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/course/MyCourseActivity.kt
@@ -1,121 +1,94 @@
package com.sinata.xqmuse.ui.course
-import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.GridLayoutManager
+import cn.sinata.xldutils.gone
+import cn.sinata.xldutils.visible
import com.sinata.xqmuse.R
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.entity.*
import com.sinata.xqmuse.network.request
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
-import com.sinata.xqmuse.ui.course.adapter.FilterAdapter
-import com.sinata.xqmuse.ui.home.adapter.CourseAdapter
+import com.sinata.xqmuse.ui.course.adapter.CourseGridAdapter
import com.sinata.xqmuse.utils.Const
import com.sinata.xqmuse.utils.event.EmptyEvent
-import com.sinata.xqmuse.utils.extention.clickDelay
import kotlinx.android.synthetic.main.activity_my_course.*
import org.greenrobot.eventbus.EventBus
-import org.greenrobot.eventbus.Subscribe
import org.jetbrains.anko.startActivity
class MyCourseActivity : TransparentStatusBarActivity() {
override fun setContentView() = R.layout.activity_my_course
- private var page = 1
- var search:String? = null //搜索
- private val filterList = arrayListOf<Filter>()
- private val filterAdapter = FilterAdapter(filterList,true)
-
- private val course = arrayListOf<Course>()
- private val courseAdapter = CourseAdapter(course)
+ private val myList = arrayListOf<CourseBean>()
+ private val myAdapter = CourseGridAdapter(myList)
+ private val freeList = arrayListOf<CourseBean>()
+ private val freeAdapter = CourseGridAdapter(freeList)
override fun initClick() {
- tv_search.clickDelay {
- val s = et_search.text.toString()
- search = if (s.isNullOrEmpty()) null else s
- hideInputMethod()
- refreshLayout.resetNoMoreData()
- page = 1
- getData()
+ myAdapter.setOnItemClickListener { view, position ->
+ showDialog()
+ HttpManager.getPayCourseInfoById(myList[position].id).request(this,success = { _, data->
+ dismissDialog()
+ data?.goDetail(this)
+ }){_,_->
+ dismissDialog()
+ }
}
-
- courseAdapter.setOnItemClickListener { view, position ->
- startActivity<CourseDetailActivity>("id" to course[position].id)
+ freeAdapter.setOnItemClickListener { view, position ->
+ showDialog()
+ HttpManager.getPayCourseInfoById(freeList[position].id).request(this,success = { _, data->
+ dismissDialog()
+ data?.goDetail(this)
+ }){_,_->
+ dismissDialog()
+ }
+ }
+ tv_ask.setOnClickListener {
+ startActivity<HelpCenterActivity>()
+ }
+ tv_action.setOnClickListener {
+ EventBus.getDefault().post(EmptyEvent(Const.EventCode.SWITCH_COURSE))
+ finish()
}
}
override fun initView() {
- EventBus.getDefault().register(this)
- rv_filter.layoutManager = LinearLayoutManager(this)
- rv_filter.adapter = filterAdapter
- rv_course.layoutManager = LinearLayoutManager(this)
- rv_course.adapter = courseAdapter
+ rv_free.layoutManager = GridLayoutManager(this,2)
+ rv_free.adapter = freeAdapter
+ rv_my.layoutManager = GridLayoutManager(this,2)
+ rv_my.adapter = myAdapter
+ myAdapter.isOrder = true
refreshLayout.setOnRefreshListener {
- val s = et_search.text.toString()
- search = if (s.isNullOrEmpty()) null else s
- page = 1
getData()
}
- refreshLayout.setOnLoadMoreListener {
- page++
- getData()
- }
- getFilter()
- page = 1
+ refreshLayout.setEnableLoadMore(false)
getData()
-
}
- private fun getFilter() {
- HttpManager.getList().request(this){_, data->
- filterList.clear()
- filterList.add(Filter("类型:",data?.fitnessType?: arrayListOf()))
- filterList.add(Filter("部位:",data?.fitnessPosition?: arrayListOf()))
- filterList.add(Filter("难度:",data?.difficulty?: arrayListOf()))
- filterList.add(Filter("时长:",data?.time?: arrayListOf()))
- filterAdapter.notifyDataSetChanged()
- }
- }
private fun getData(){
- val diff = filterList.filter { it.name == "难度:" }.firstOrNull()?.list?.filter { it.checked }?.joinToString (","){ it.id.toString() }
- val position = filterList.filter { it.name == "部位:" }.firstOrNull()?.list?.filter { it.checked }?.joinToString (","){ it.name }
- val times = filterList.filter { it.name == "时长:" }.firstOrNull()?.list?.filter { it.checked }?.joinToString (","){ it.id.toString() }
- val types = filterList.filter { it.name == "类型:" }.firstOrNull()?.list?.filter { it.checked }?.joinToString (","){ it.id.toString() }
- HttpManager.myCourse(page,if (diff.isNullOrEmpty()) null else diff,
- if (position.isNullOrEmpty()) null else position,if (times.isNullOrEmpty()) null else times,
- if (types.isNullOrEmpty()) null else types,search).request(this,success = {_,data->
- if (page == 1)
- course.clear()
- course.addAll(data?: arrayListOf())
- courseAdapter.notifyDataSetChanged()
- if (course.isEmpty())
- refreshLayout.finishRefreshWithNoMoreData()
- else if (data.isNullOrEmpty())
- refreshLayout.finishLoadMoreWithNoMoreData()
- else if (page == 1)
- refreshLayout.finishRefresh()
- else
- refreshLayout.finishLoadMore()
+ HttpManager.studyPage().request(this,success = {_,data->
+ refreshLayout.finishRefresh(true)
+ myList.clear()
+ myList.addAll(data?.courseList?: arrayListOf())
+ freeList.clear()
+ freeList.addAll(data?.freeCourseList?: arrayListOf())
+ myAdapter.notifyDataSetChanged()
+ freeAdapter.notifyDataSetChanged()
+ if (myList.isNullOrEmpty()){
+ tv_empty.visible()
+ tv_action.visible()
+ }else{
+ tv_empty.gone()
+ tv_action.gone()
+ }
+ if (freeList.isNullOrEmpty()){
+ tv_empty2.visible()
+ }else{
+ tv_empty2.gone()
+ }
}){_,_->
- if (page == 1)
- refreshLayout.finishRefresh(false)
- else
- refreshLayout.finishLoadMore(false)
+ refreshLayout.finishRefresh(false)
}
}
-
- @Subscribe
- fun refresh(e: EmptyEvent){
- if (e.code == Const.EventCode.REFRESH_MY_COURSE){
- refreshLayout.resetNoMoreData()
- page = 1
- getData()
- }
- }
-
- override fun onDestroy() {
- super.onDestroy()
- EventBus.getDefault().unregister(this)
- }
-
}
--
Gitblit v1.7.1