Android 默认支持 Activity 的 Back Stack 手动设置如下:
默认 Activity
`class MainActivity : AppCompatActivity() {
lateinit var activity: Buttonoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)activity = findViewById(R.id.buttonSecondActivity)activity.setOnClickListener {val intent = Intent(this, SecondActivity::class.java)startActivity(intent)finish() // this will finish the first activity or remove it from stack}
}
}`
新 Activity
`class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
// Register the callback for handling back pressesonBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) {override fun handleOnBackPressed() {val intent = Intent(this@SecondActivity, MainActivity::class.java)startActivity(intent)}})
}
}`