| | |
| | | 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 |
| | |
| | | |
| | | 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() |
| | | } |
| | | } |
| | |
| | | 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)) |
| | | } |
| | |
| | | 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() { |
| | | HttpManager.exitGameOrStory(time).request(this@ListenStoryActivity){_,_-> |
| | | finish() |
| | | } |
| | | } |
| | | |
| | | override fun onCancel() { |
| | | } |