BaseActivity.java
1014 Bytes
package com.ys.yslibrary.ui;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
public abstract class BaseActivity extends AppCompatActivity {
private ViewDataBinding baseBinding;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
baseBinding = DataBindingUtil.setContentView(this, getBindingLayoutId());
init();
}
public ViewDataBinding getBaseBinding() {
return baseBinding;
}
protected abstract void init();
protected abstract int getBindingLayoutId();
abstract void initViewModel();
public ViewModel getViewModel(Class tClass) {
return new ViewModelProvider(this, new ViewModelProvider.NewInstanceFactory()).get(tClass);
}
}