From a1d1fb7c44e33c4baeb52964a027932018bc1325 Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期二, 04 四月 2023 16:35:39 +0800 Subject: [PATCH] 家大事记添加接口、家庭资产、家庭设备 --- app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java | 50 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 30 insertions(+), 20 deletions(-) diff --git a/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java b/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java index 2fb56c9..73f922c 100644 --- a/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java +++ b/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java @@ -15,14 +15,16 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.databinding.DataBindingUtil; import androidx.databinding.ViewDataBinding; +import androidx.drawerlayout.widget.DrawerLayout; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import com.android.app_base.action.TitleBarAction; +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.blankj.utilcode.util.ToastUtils; import com.gyf.immersionbar.ImmersionBar; -import com.hjq.bar.OnTitleBarListener; import com.hjq.bar.TitleBar; import java.lang.reflect.ParameterizedType; @@ -31,11 +33,10 @@ /** * Activity鍩虹被,鎵�鏈夌殑 Activity 閮借缁ф壙姝ょ被 */ -public abstract class BaseActivity<V extends ViewDataBinding,VM extends BaseViewModel> extends AppCompatActivity implements TitleBarAction{ - protected V binding; +public abstract class BaseActivity<VDB extends ViewDataBinding,VM extends BaseViewModel> extends AppCompatActivity implements TitleBarAction, ClickAction { + protected VDB binding; protected VM viewModel; private int viewModelId; - /** * 鏍囬鏍忓璞� */ @@ -44,12 +45,6 @@ * 鐘舵�佹爮娌夋蹈 */ private ImmersionBar mImmersionBar; - - - @Override - protected void onResume() { - super.onResume(); - } @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -60,11 +55,17 @@ initParam(); //椤甸潰view鍒濆鍖栨柟娉� initView(); - //椤甸潰鏁版嵁鍒濆鍖栨柟娉� - initData(); //椤甸潰浜嬩欢鐩戝惉鐨勬柟娉曪紝鐢ㄤ簬ViewModel灞傝浆鍒癡iew灞傜殑浜嬩欢娉ㄥ唽 initLiveDataObserve(); + } + @Override + protected void onResume() { + super.onResume(); + //椤甸潰鏁版嵁鍒濆鍖栨柟娉� + initData(); + } + @Override protected void onDestroy() { @@ -87,6 +88,7 @@ initStateView(); //鍒濆鍖栨矇娴稿紡鐘舵�佹爮鍜� titleBar initStatusBar(); + initSoftKeyboard(); } /** @@ -94,8 +96,7 @@ */ protected void initViewDataBindingAndViewModel() { if (getLayoutId() > 0) { - binding = DataBindingUtil.setContentView(this, getLayoutId()); - initSoftKeyboard(); + binding = initViewBinding(); } viewModelId = getVariableId(); viewModel = initViewModel(); @@ -109,6 +110,13 @@ //璁¬iewModel鎷ユ湁View鐨勭敓鍛藉懆鏈熸劅搴� getLifecycle().addObserver(viewModel); } + } + + /** + * 鍒濆鍖朧iewBinding + */ + protected VDB initViewBinding() { + return DataBindingUtil.setContentView(this, getLayoutId()); } /** * 鍒濆鍖朧iewModel @@ -125,6 +133,7 @@ } return new ViewModelProvider(this, (ViewModelProvider.Factory) ViewModelProvider.AndroidViewModelFactory.getInstance(getApplication())).get(vmClass); } + /** * 瀵圭姸鎬佽鍥緇iveData杩涜瑙傚療鐩戝惉 @@ -158,6 +167,12 @@ default: break; } + } + }); + viewModel.getMessageLivaData().observe(this, new Observer<String>() { + @Override + public void onChanged(String message) { + ToastUtils.showShort(message); } }); } @@ -233,12 +248,6 @@ return mTitleBar; } - @Override - public void onLeftClick(TitleBar titleBar) { - TitleBarAction.super.onLeftClick(titleBar); - onBackPressed(); - } - /** * 鑾峰彇鏍瑰竷灞�鐨刬d锛岀敱瀛愮被瀹炵幇杩斿洖 * @return layout鐨刬d @@ -288,6 +297,7 @@ InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (manager != null && manager.isActive(view)) { manager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); + view.clearFocus(); } } } -- Gitblit v1.9.1