From b13afc751dbbce24753d008f1f87d2c5e133a4ad Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期二, 09 七月 2024 15:19:26 +0800 Subject: [PATCH] fix bug --- app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt | 30 +++++++++++++++++------------- 1 files changed, 17 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt index 7c09c84..1d1f328 100644 --- a/app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt +++ b/app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt @@ -10,6 +10,7 @@ import androidx.fragment.app.FragmentPagerAdapter import androidx.viewpager.widget.ViewPager import cn.sinata.xldutils.gone +import cn.sinata.xldutils.visible import com.dollearn.student.R import com.dollearn.student.dialog.TipDialog import com.dollearn.student.network.HttpManager @@ -41,30 +42,35 @@ override fun initClick() { tv_last.setOnClickListener { - (fragments[view_pager.currentItem] as RememberFragment).stopVoice() + if ((fragments[view_pager.currentItem] as RememberFragment).playing||!(fragments[view_pager.currentItem] as RememberFragment).listened) + return@setOnClickListener (fragments[view_pager.currentItem-1] as RememberFragment).recover() view_pager.setCurrentItem(view_pager.currentItem-1,true) if (view_pager.currentItem == 0) tv_last.gone() tv_exit.text = "退出" + tv_next.visible() } tv_next.setOnClickListener { - (fragments[view_pager.currentItem] as RememberFragment).stopVoice() + if ((fragments[view_pager.currentItem] as RememberFragment).playing||!(fragments[view_pager.currentItem] as RememberFragment).listened) + return@setOnClickListener (fragments[view_pager.currentItem+1] as RememberFragment).recover() view_pager.setCurrentItem(view_pager.currentItem+1,true) if (view_pager.currentItem == fragments.lastIndex){ tv_next.gone() tv_exit.text = "完成" } + tv_last.visible() } tv_exit.setOnClickListener { if (tv_exit.text == "退出") onBackPressed() else{ - (fragments[view_pager.currentItem] as RememberFragment).stopVoice() + if ((fragments[view_pager.currentItem] as RememberFragment).playing||!(fragments[view_pager.currentItem] as RememberFragment).listened) + return@setOnClickListener handler?.removeMessages(0) - startActivity<RememberFinishActivity>("score" to data!!.data.integral) + startActivity<RememberFinishActivity>("score" to data!!.data.integral,"time" to time,"id" to data!!.data.id) finish() } } @@ -73,6 +79,10 @@ override fun initView() { data?.apply { tv_progress.text = "已完成:1/${storyList.size}" + if (storyList.size == 1){ + tv_next.gone() + tv_exit.text = "完成" + } storyList.forEachIndexed { index, subject -> fragments.add(RememberFragment.getInstance(index)) } @@ -120,20 +130,14 @@ handler?.sendEmptyMessageDelayed(0,1000L) } - private fun recover(){ - HttpManager.teamSchedule(day,week,3).request(this){_,data-> - view_pager.setCurrentItem(data?.topicIds?.size?:0,false) - totalCount = data?.answerNumber?:0 - rightCount = data?.correctNumber?:0 - } - } - override fun onBackPressed() { val tipDialog = TipDialog() tipDialog.arguments = bundleOf("msg" to "未完成全部答题,确认退出吗?") tipDialog.setCallback(object :TipDialog.OnClickCallback{ override fun onOk() { - finish() + HttpManager.exitGameOrStory(time).request(this@ListenStoryActivity){_,_-> + finish() + } } override fun onCancel() { -- Gitblit v1.7.1