Android Studio安卓开发如何按钮退出程序(所有的Activity)
只需要一个专门的集合对所有的Activity进行管理
(kotlin版本)
1. 新建一个单例类ActivityCollector作为Activity的集合
/* 单例类ActivityCollector作为Activity的集合,对所有的Activity进行管理 */
object ActivityCollector {
private val activities=ArrayList<Activity>()
/* 用于向ArrayList中添加Activity */
fun addActivity(actity:Activity){
activities.add(actity)
}
/* 用于从ArrayList中移除Activity */
fun removeActivity(actity: Activity){
activities.remove(actity)
}
/* 用于将ArrayList中存储的Activity全部销毁 */
fun finishAll(){
for (activity in activities){
if (!activity.isFinishing){
activity.finish()
}
}
activities.clear()
}
}
2. 新建Class取名BaseActivity,添加代码让其继承AppCompatActivity,并重写onCreat()方法,重写onDestroy()方法
open class BaseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
ActivityCollector.addActivity(this)
}
override fun onDestroy() {
super.onDestroy()
ActivityCollector.removeActivity(this)
}
}
3. 让所有Activity继承BaseActivity,由于BaseActivity继承自AppCompatActivity,所以所有Activity现有功能都不受影响
class MainActivity : BaseActivity()
4. 设置按钮的点击事件,只需调用ActivityCollector的finishAll方法
//退出程序
set_close.setOnClickListener {
ActivityCollector.finishAll()
}
本文介绍了如何在Android开发中使用Kotlin创建一个单例类ActivityCollector来管理所有Activity,以此实现按钮点击退出程序的功能。首先,定义一个ActivityCollector对象用于添加和移除Activity,然后创建BaseActivity作为所有Activity的基类,在基类中重写onCreate()和onDestroy()方法以在Activity的生命周期中添加和移除。最后,通过调用ActivityCollector的finishAll()方法即可关闭所有Activity并退出程序。
&spm=1001.2101.3001.5002&articleId=112675028&d=1&t=3&u=004dd6c9e0644c97993d385b96488cc1)
2878

被折叠的 条评论
为什么被折叠?



