Kotlin中ArtikelContent Activity返回上一来源页的导航问题
解决ArtikelContent返回原入口位置的导航问题
你的问题出在当前代码是新建了一个ArtikelHome Activity实例,而非回到栈中已存在的原页面。要实现返回打开前的位置,直接调用finish()即可,无需重新启动Activity。
修改后的代码:
val btnback : ImageView = findViewById(R.id.buttonback) btnback.setOnClickListener { finish() }
为什么这样可行?
Android的Activity栈遵循后进先出的结构:
- 从首页菜单打开ArtikelContent时,栈顺序为
首页 -> ArtikelContent,调用finish()会销毁ArtikelContent,直接回到首页。 - 从ArtikelHome的Semua/KAT 1标签页打开ArtikelContent时,栈顺序为
首页 -> ArtikelHome -> ArtikelContent,调用finish()销毁ArtikelContent后,会回到栈中已存在的ArtikelHome,且ArtikelHome会保留之前打开的标签页状态。
如果后续需要在返回时向前一个页面传递数据,可以使用setResult()配合onActivityResult()(或Jetpack的Activity Result API),但单纯返回原位置的话,finish()就足够解决问题。
内容的提问来源于stack exchange,提问作者Raja Azrol Alimi
相关产品推荐
相关产品推荐

