1:去掉点击关闭的时候,清空倒计时

This commit is contained in:
2025-12-10 09:44:00 +08:00
parent aa568d73ee
commit 0e2386ca5f

View File

@@ -19,17 +19,11 @@ import com.xscm.moduleutil.widget.dialog.BaseDialog
* 时间2025/12/8 16:19 * 时间2025/12/8 16:19
* 用途:首页推荐房间 * 用途:首页推荐房间
*/ */
class InviteDialog(context: Context, data: IndexRecommendRoom?) : BaseDialog<DialogInviteBinding>(context) { class InviteDialog(context: Context, data: IndexRecommendRoom?) :
BaseDialog<DialogInviteBinding>(context) {
private var countDownTimer: CountDownTimer? = null // 倒计时器 private var countDownTimer: CountDownTimer? = null // 倒计时器
private var data: IndexRecommendRoom? = data // 将构造函数参数赋值给成员变量 private var data: IndexRecommendRoom? = data // 将构造函数参数赋值给成员变量
// companion object {
// // 修改方法签名,允许 data 为空
// fun show(context: Context, data: IndexRecommendRoom?) {
// // 创建并显示对话框,即使 data 为空也显示
// val dialog = InviteDialog(context, data)
// dialog.show()
// }
// }
init { init {
// 设置对话框从底部弹出 // 设置对话框从底部弹出
window?.setGravity(Gravity.CENTER) window?.setGravity(Gravity.CENTER)
@@ -76,6 +70,7 @@ class InviteDialog(context: Context, data: IndexRecommendRoom?) : BaseDialog<Dia
dismiss() dismiss()
} }
} }
fun setData(data: IndexRecommendRoom?) { fun setData(data: IndexRecommendRoom?) {
this.data = data this.data = data
// 设置房间数据 // 设置房间数据
@@ -96,7 +91,7 @@ class InviteDialog(context: Context, data: IndexRecommendRoom?) : BaseDialog<Dia
* 开始倒计时 * 开始倒计时
*/ */
private fun startCountDown() { private fun startCountDown() {
countDownTimer?.cancel() // 确保之前的计时器被取消
countDownTimer = object : CountDownTimer(9 * 1000L, 1000) { countDownTimer = object : CountDownTimer(9 * 1000L, 1000) {
override fun onTick(millisUntilFinished: Long) { override fun onTick(millisUntilFinished: Long) {
val secondsLeft = (millisUntilFinished / 1000).toInt() val secondsLeft = (millisUntilFinished / 1000).toInt()
@@ -105,17 +100,13 @@ class InviteDialog(context: Context, data: IndexRecommendRoom?) : BaseDialog<Dia
override fun onFinish() { override fun onFinish() {
// 检查是否被主动取消 // 检查是否被主动取消
dismiss() dismiss()
} }
}.start() }.start()
// 设置点击事件,点击按钮也关闭对话框 // 设置点击事件,点击按钮也关闭对话框
mBinding.btnNegative.setOnClickListener({ v -> mBinding.btnNegative.setOnClickListener({ v ->
if (countDownTimer != null) {
countDownTimer?.cancel()
}
dismiss() dismiss()
}) })
} }