在日常的开发项目中,一般为了activity的方便,节省开发时间,往往会通过基类来实现重复的方法,这里分享自己在开发过程中的activity基类
abstract class BaseActivity : AppCompatActivity(), View.OnClickListener {
private lateinit var viewBinding: ActivityMainBinding //绑定布局
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(setLayout())
viewBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(viewBinding.root)
setData()
}
/**
* 绑定布局
* 初始化组件
* @return
*/
protected abstract fun setLayout(): Int
/**
* 设置数据等逻辑代码
*/
protected abstract fun setData()
}
因为是kotiln,别忘了在build.gradle中添加
viewBinding{
enabled =true
}
在使用的时候直接继承这个基类
class MainActivity2 : BaseActivity() {
override fun setLayout(): Int {
return R.layout.activity_main2
}
override fun setData() {
//逻辑处理
TODO("Not yet implemented")
}
override fun onClick(p0: View?) {
//点击事件
TODO("Not yet implemented")
}
}