From 718f31c92e2029d05260810435a2c70cef6e6ce5 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期四, 24 四月 2025 10:45:55 +0800 Subject: [PATCH] save --- app/src/main/java/com/sinata/xqmuse/ui/course/CourseDetailActivity.kt | 88 ++++++++++++++++++++++++++++++++----------- 1 files changed, 65 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/course/CourseDetailActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/course/CourseDetailActivity.kt index 49a60fb..8493853 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/course/CourseDetailActivity.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/course/CourseDetailActivity.kt @@ -1,5 +1,6 @@ package com.sinata.xqmuse.ui.course +import android.content.Intent import android.os.CountDownTimer import android.util.TypedValue import android.webkit.WebChromeClient @@ -13,9 +14,11 @@ import cn.sinata.xldutils.utils.showAllowingStateLoss import cn.sinata.xldutils.visible import com.google.android.material.appbar.AppBarLayout +import com.share.utils.ShareUtils import com.sinata.xqmuse.R import com.sinata.xqmuse.dialog.SendConfirmDialog import com.sinata.xqmuse.dialog.ShareDialog +import com.sinata.xqmuse.network.Apis import com.sinata.xqmuse.network.HttpManager import com.sinata.xqmuse.network.entity.Chapter import com.sinata.xqmuse.network.entity.CourseBean @@ -25,18 +28,14 @@ import com.sinata.xqmuse.ui.course.adapter.ChapterAdapter import com.sinata.xqmuse.ui.course.adapter.CourseGridAdapter import com.sinata.xqmuse.utils.AppBarStateChangeListener +import com.sinata.xqmuse.utils.Const import com.sinata.xqmuse.utils.interfaces.StringCallback -import kotlinx.android.synthetic.main.activity_buy_course.* +import com.umeng.socialize.bean.SHARE_MEDIA import kotlinx.android.synthetic.main.activity_course_deatil.* -import kotlinx.android.synthetic.main.activity_course_deatil.iv_cover -import kotlinx.android.synthetic.main.activity_course_deatil.tv_1 -import kotlinx.android.synthetic.main.activity_course_deatil.tv_action -import kotlinx.android.synthetic.main.activity_course_deatil.tv_count -import kotlinx.android.synthetic.main.activity_course_deatil.tv_name -import kotlinx.android.synthetic.main.activity_course_deatil.tv_teacher -import org.jetbrains.anko.imageResource -import org.jetbrains.anko.startActivity -import org.jetbrains.anko.textColorResource +import kotlinx.android.synthetic.main.activity_course_deatil.iv_back +import kotlinx.android.synthetic.main.activity_course_deatil.webView +import kotlinx.android.synthetic.main.activity_level.* +import org.jetbrains.anko.* class CourseDetailActivity : TransparentStatusBarActivity() { override fun setContentView() = R.layout.activity_course_deatil @@ -60,19 +59,34 @@ } tv_action.setOnClickListener { - getData(false) + if (tv_action.text == "立即学习"){ + if (data?.list?.isNullOrEmpty() == true) + toast("该课程暂未添加章节") + else + startActivity<StudyActivity>("id" to data?.list?.firstOrNull()?.id) + } else + getData(false) } iv_collect.setOnClickListener { HttpManager.collectCourse(data?.id?:"").request(this){_,_-> - data?.recommend = if (data?.recommend == 1) 2 else 1 - iv_collect.setImageResource(if (data?.recommend == 1) R.mipmap.collected else R.mipmap.uncollect) + data?.isCollect = if (data?.isCollect == 1) 2 else 1 + iv_collect.setImageResource(if (data?.isCollect == 1) R.mipmap.collected else R.mipmap.uncollect) + toast(if (data?.isCollect == 1) "收藏成功" else "已取消收藏") } } iv_share.setOnClickListener { val shareDialog = ShareDialog() shareDialog.callback = object :StringCallback{ override fun onResult(rst: String) { - + if (rst == "wx"){ + ShareUtils.share(this@CourseDetailActivity, + SHARE_MEDIA.WEIXIN,data?.courseTitle, Const.SHARE.SHARE_COURSE_TITLE, + Apis.SHARE_COURSE.format(data?.id),null,"") + }else{ + ShareUtils.share(this@CourseDetailActivity, + SHARE_MEDIA.WEIXIN_CIRCLE,data?.courseTitle,Const.SHARE.SHARE_COURSE_TITLE, + Apis.SHARE_COURSE.format(data?.id),null,"") + } } } shareDialog.showAllowingStateLoss(supportFragmentManager,"share") @@ -89,7 +103,7 @@ scroll2Position(2) checkTab(2) } - scrollView.setOnScrollChangeListener { v: NestedScrollView?, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int -> + scrollView.setOnScrollChangeListener { _: NestedScrollView?, _: Int, scrollY: Int, _: Int, _: Int -> if (!scrollByTab) when { scrollY>=tv_2.top -> checkTab(2) @@ -97,8 +111,20 @@ else -> checkTab(0) } } - chapterAdapter.setOnItemClickListener { view, position -> - getData(false) + chapterAdapter.setOnItemClickListener { _, position -> + if (tv_action.text == "立即学习") + startActivity<StudyActivity>("id" to data?.list?.get(position)?.id,"index" to position) + else + getData(false) + } + courseAdapter.setOnItemClickListener { _, position -> + showDialog() + HttpManager.getPayCourseInfoById(courseList[position].id?:"").request(this,success = { _, data-> + dismissDialog() + data?.goDetail(this) + }){_,_-> + dismissDialog() + } } } @@ -120,7 +146,8 @@ rv_chapter.adapter = chapterAdapter rv_push.layoutManager = GridLayoutManager(this,2) rv_push.adapter = courseAdapter - + webView.backgroundColor = 0 + webView.background.alpha = 0 appbar.addOnOffsetChangedListener(object : AppBarStateChangeListener() { override fun onStateChanged(appBarLayout: AppBarLayout?, state: State?, ratio:Double) { bg.alpha = if(ratio<0.2) 0f else ((ratio-0.2)/0.8).toFloat() @@ -128,11 +155,17 @@ State.EXPANDED -> { //展开状态 iv_back.imageResource = R.mipmap.icon_back_white + iv_share.imageResource = R.mipmap.ic_share + if (data?.isCollect!=1) + iv_collect.imageResource = R.mipmap.uncollect tvTitle.textColorResource = R.color.white } State.COLLAPSED -> { //折叠状态 iv_back.imageResource = R.mipmap.back + iv_share.imageResource = R.mipmap.ic_share_black + if (data?.isCollect!=1) + iv_collect.imageResource = R.mipmap.uncollect_b tvTitle.textColorResource = R.color.textColor } } @@ -140,7 +173,7 @@ }) data?.apply { - iv_collect.setImageResource(if (data?.recommend == 1) R.mipmap.collected else R.mipmap.uncollect) + iv_collect.setImageResource(if (data?.isCollect == 1) R.mipmap.collected else R.mipmap.uncollect) iv_cover.setImageURI(detailUrl) tv_name.text = courseTitle tv_teacher.text = "导师 ${tutor}" @@ -158,11 +191,12 @@ chapterAdapter.notifyDataSetChanged() courseList.addAll(list2) courseAdapter.notifyDataSetChanged() - - if (chargeType == 1||(courseType == 2&&isVip == 1)){ + if (chargeType == 3) + tv_send.visible() + if (chargeType == 1||isBuy == 1||(chargeType == 2&&isVip == 1)){ tv_action.text = "立即学习" }else{ - val s = "¥ %s 立即购买".format(generalPrice) + val s = "¥ %s 立即购买".format(generalPrice!!) tv_action.text = SpanBuilder(s).size(0,1,12).size(2,generalPrice.length+2,21).build() } } @@ -240,7 +274,15 @@ } }) }else - startActivity<BuyCourseActivity>("isSend" to isSend,"data" to data) + startActivityForResult<BuyCourseActivity>(1,"isSend" to isSend,"data" to data) + } + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + if (resultCode == RESULT_OK){ + this.data?.isBuy = 1 + tv_action.text = "立即学习" } } } -- Gitblit v1.7.1