Android Studio安卓开发如何按钮退出程序(所有的Activity)
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()
}