From cd13751df41c6504b3934cd3f1bd441c4ba172ff Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期五, 19 七月 2024 11:38:27 +0800 Subject: [PATCH] fix bug --- app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt | 28 ++++++++++++++++------------ 1 files changed, 16 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt index 4faa023..a1a188e 100644 --- a/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt +++ b/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt @@ -17,8 +17,10 @@ import com.dollearn.student.network.entity.SubjectBean import com.dollearn.student.network.request import com.dollearn.student.ui.TransparentStatusBarActivity +import com.dollearn.student.utils.Const +import com.dollearn.student.utils.event.EmptyEvent import kotlinx.android.synthetic.main.activity_listen.* -import org.jetbrains.anko.startActivity +import org.greenrobot.eventbus.EventBus class ChooseVoiceActivity:TransparentStatusBarActivity() { override fun setContentView() = R.layout.activity_listen @@ -56,12 +58,15 @@ fun next(){ if (view_pager.currentItem == fragments.lastIndex){ handler?.removeMessages(0) - ResultActivity.startResult(this,day,week,season,1,totalCount,rightCount,data!!.data.integral,time,data!!.data.id) + ResultActivity.startResult(this,day,week,season,2,totalCount,rightCount,data!!.data.integral,time,data!!.data.id) finish() }else{ - (fragments[view_pager.currentItem+1] as ChooseVoiceFragment).recover() - view_pager.setCurrentItem(view_pager.currentItem+1,true) - tv_last.visible() + if (data!!.subjectList[view_pager.currentItem].filter { it.completed }.size == 4){ //防止多次调用触发 + (fragments[view_pager.currentItem+1] as ChooseVoiceFragment).recover() + view_pager.setCurrentItem(view_pager.currentItem+1,true) + tv_last.visible() + } + } } @@ -117,7 +122,9 @@ private fun recover(){ HttpManager.teamSchedule(day,week,2).request(this){_,data-> -// view_pager.setCurrentItem(data?.topicIds?.size?:1,false) + view_pager.setCurrentItem((data?.schedule?:1)-1,false) + if (view_pager.currentItem != 0) + tv_last.visible() totalCount = data?.answerNumber?:0 rightCount = data?.correctNumber?:0 } @@ -128,13 +135,9 @@ tipDialog.arguments = bundleOf("msg" to "未完成全部答题,确认退出吗?") tipDialog.setCallback(object :TipDialog.OnClickCallback{ override fun onOk() { - if (view_pager.currentItem == 0) + val list = (data?.subjectList?: arrayListOf()).subList(0,view_pager.currentItem).flatMap { it } + HttpManager.exitLearning(view_pager.currentItem,season,time,totalCount,rightCount,day,week,2,data?.data?.id?:"", list.joinToString(",") { it.id }).request(this@ChooseVoiceActivity){ _, _-> finish() - else{ - val list = (data?.subjectList?: arrayListOf()).subList(0,view_pager.currentItem).flatMap { it } - HttpManager.exitLearning(totalCount,rightCount,day,week,2,data?.data?.id?:"", list.joinToString(",") { it.id }).request(this@ChooseVoiceActivity){ _, _-> - finish() - } } } @@ -146,6 +149,7 @@ override fun onDestroy() { super.onDestroy() + EventBus.getDefault().post(EmptyEvent(Const.EventCode.STOP_TIMER)) handler?.removeMessages(0) handler = null } -- Gitblit v1.7.1