首页 > 解决方案 > 我无法用“finish()”完成活动... :(

问题描述

我是android的初学者。

我正在申请关于医疗保健的申请。

我想问的是如何在下面的案例中完成一项活动。问题是当我按下“后退按钮”和“ImageButton29”时活动没有完成。具体来说,在我按下这些按钮后,倒数计时器仍然运行......因此,即使我转到下一页或上一页(活动),在倒计时之后,“pushtaba2”活动也会被实施。请回答我。

package com.example.myapp

import android.os.Bundle
import android.os.CountDownTimer
import android.os.Handler
import android.os.Looper
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_pushtaba1.*
import android.content.Intent as Intent

class pushtaba1 : AppCompatActivity() {

    override fun onBackPressed() {
        finish()
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_pushtaba1)

        val intent = Intent(this, pushtaba2::class.java)

        val value = object : CountDownTimer(10000, 1000) {

            override fun onTick(millisUntilFinished: Long) {
                mTextField3.setText("" + millisUntilFinished / 1000)

            }

            override fun onFinish() {
                startActivity(intent)
                finish()
            }

        }.start()

        imageButton29.setOnClickListener {
            startActivity(intent)
            finish()
        }
    }
}

标签: androidandroid-studioactivity-finish

解决方案


覆盖中的乐趣onDestroy()AppCompatActivity每当 Activity 被销毁时,都会调用它。

class pushtaba1 : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        ...
    }

    override fun onDestroy() {
        // TODO - stop your timer here
    }
}

推荐阅读