1:去掉点击关闭的时候,清空倒计时
This commit is contained in:
@@ -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()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user