implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
//类名->加泛型
abstract class BaseActivity<VM : ViewModel>(private val vmclazz: Class<VM>) :AppCompatActivity() {
protected val viewModel: VM by lazy {
ViewModelProvider(this).get(vmclazz)
}
override fun onCreate(savedInstanceState: Bundle?) {
//super.onCreate->先执行父类onCreate,再继续
super.onCreate(savedInstanceState)
//禁止横屏
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
}
}
open class BaseViewModel : ViewModel() {
// 网络异常处理
protected val error_message by lazy { MutableLiveData<String>() }
fun getErrormessage(): MutableLiveData<String> {
return error_message
}
}