| | |
| | | |
| | | import com.android.app_base.action.TitleBarAction; |
| | | import com.android.app_base.base.BaseApplication; |
| | | import com.android.app_base.base.action.ClickAction; |
| | | import com.android.app_base.base.viewmodel.BaseViewModel; |
| | | import com.android.app_base.base.StateViewEnum; |
| | | import com.android.app_base.utils.ScreenSizeUtils; |
| | | import com.blankj.utilcode.util.AdaptScreenUtils; |
| | | import com.blankj.utilcode.util.ToastUtils; |
| | | import com.gyf.immersionbar.ImmersionBar; |
| | | import com.hjq.bar.OnTitleBarListener; |
| | | import com.hjq.bar.TitleBar; |
| | | |
| | | import java.lang.reflect.ParameterizedType; |
| | |
| | | /** |
| | | * Activity基类,所有的 Activity 都要继承此类 |
| | | */ |
| | | public abstract class BaseActivity<V extends ViewDataBinding,VM extends BaseViewModel> extends AppCompatActivity implements TitleBarAction{ |
| | | public abstract class BaseActivity<V extends ViewDataBinding,VM extends BaseViewModel> extends AppCompatActivity implements TitleBarAction, ClickAction { |
| | | protected V binding; |
| | | protected VM viewModel; |
| | | private int viewModelId; |
| | |
| | | private ImmersionBar mImmersionBar; |
| | | |
| | | |
| | | @Override |
| | | protected void onResume() { |
| | | super.onResume(); |
| | | } |
| | | |
| | | @Override |
| | | protected void onCreate(@Nullable Bundle savedInstanceState) { |
| | |
| | | initParam(); |
| | | //页面view初始化方法 |
| | | initView(); |
| | | //页面数据初始化方法 |
| | | initData(); |
| | | //页面事件监听的方法,用于ViewModel层转到View层的事件注册 |
| | | initLiveDataObserve(); |
| | | |
| | | ScreenSizeUtils.setCustomDensity(this, BaseApplication.getInstance()); |
| | | } |
| | | @Override |
| | | protected void onResume() { |
| | | super.onResume(); |
| | | //页面数据初始化方法 |
| | | initData(); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | protected void onDestroy() { |
| | |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | viewModel.getMessageLivaData().observe(this, new Observer<String>() { |
| | | @Override |
| | | public void onChanged(String message) { |
| | | ToastUtils.showShort(message); |
| | | } |
| | | }); |
| | | } |
| | |
| | | InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); |
| | | if (manager != null && manager.isActive(view)) { |
| | | manager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); |
| | | view.clearFocus(); |
| | | } |
| | | } |
| | | } |