知晓是在哪一个Activity
在进入一个公司进行实战之后,更有可能接手的是别人写的代码,阅读别人的代码是一个很头疼的事情,当需要在某个页面修改简单的东西时,半天找不到当前页面所在的Activity,以下简单的技巧在开发时会很有用。
创建一个BaseActivity类
注意这里创建的Activity与常规的Activity的创建方式不一样,直接创建kotlin File/Class就可以了,也不需要在AndroidManifest.xml中注册。然后让BaseActivity继承了AppCompatActivity,并重写onCreate()方法。
- BaseActivity.kt
open class BaseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 用于显示当前Activity
Log.d("BaseActivity", javaClass.simpleName) //相当于调用getClass()方法
}
}
接下来需要让BaseActivity成为ActivityTest的父类,为了可以被继承BaseActivity添加了open,以下修改FirstActivity、SecondActivity的继承关系。
- FirstActivity.kt
class FirstActivity : BaseActivity() { //将继承AppCompatActivity()修改为BaseActivity()可以显示当前Activity
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.first_layout)
}}
class SecondActivity : BaseActivity() {...}
运行结果
重新运行结果之后显示如下结果: