From efafbbf142c81c233c71de636a2d3ce9dc2124f0 Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期二, 12 九月 2023 19:20:05 +0800 Subject: [PATCH] 修复bug --- app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java | 43 +++++++++++++++++++++++++++---------------- 1 files changed, 27 insertions(+), 16 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 300fbaa..aa5a3ff 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,15 +15,15 @@ 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.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.android.app_base.base.viewmodel.SimpleViewModel; import com.blankj.utilcode.util.ToastUtils; import com.gyf.immersionbar.ImmersionBar; import com.hjq.bar.TitleBar; @@ -34,11 +34,10 @@ /** * Activity鍩虹被,鎵�鏈夌殑 Activity 閮借缁ф壙姝ょ被 */ -public abstract class BaseActivity<V extends ViewDataBinding,VM extends BaseViewModel> extends AppCompatActivity implements TitleBarAction, ClickAction { - 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; - /** * 鏍囬鏍忓璞� */ @@ -47,8 +46,6 @@ * 鐘舵�佹爮娌夋蹈 */ private ImmersionBar mImmersionBar; - - @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -61,10 +58,6 @@ initView(); //椤甸潰浜嬩欢鐩戝惉鐨勬柟娉曪紝鐢ㄤ簬ViewModel灞傝浆鍒癡iew灞傜殑浜嬩欢娉ㄥ唽 initLiveDataObserve(); - } - @Override - protected void onResume() { - super.onResume(); //椤甸潰鏁版嵁鍒濆鍖栨柟娉� initData(); } @@ -91,6 +84,7 @@ initStateView(); //鍒濆鍖栨矇娴稿紡鐘舵�佹爮鍜� titleBar initStatusBar(); + initSoftKeyboard(); } /** @@ -98,8 +92,7 @@ */ protected void initViewDataBindingAndViewModel() { if (getLayoutId() > 0) { - binding = DataBindingUtil.setContentView(this, getLayoutId()); - initSoftKeyboard(); + binding = initViewBinding(); } viewModelId = getVariableId(); viewModel = initViewModel(); @@ -114,6 +107,13 @@ getLifecycle().addObserver(viewModel); } } + + /** + * 鍒濆鍖朧iewBinding + */ + protected VDB initViewBinding() { + return DataBindingUtil.setContentView(this, getLayoutId()); + } /** * 鍒濆鍖朧iewModel * @return 杩斿洖涓�涓猇iewModel @@ -124,11 +124,12 @@ if (type instanceof ParameterizedType){ vmClass = (Class) ((ParameterizedType) type).getActualTypeArguments()[1]; } else { - //濡傛灉娌℃湁鎸囧畾娉涘瀷鍙傛暟锛屽垯榛樿浣跨敤BaseViewModel - vmClass = (Class<VM>) BaseViewModel.class; + //濡傛灉娌℃湁鎸囧畾娉涘瀷鍙傛暟锛屽垯榛樿浣跨敤SimpleViewModel + vmClass = (Class<VM>) SimpleViewModel.class; } return new ViewModelProvider(this, (ViewModelProvider.Factory) ViewModelProvider.AndroidViewModelFactory.getInstance(getApplication())).get(vmClass); } + /** * 瀵圭姸鎬佽鍥緇iveData杩涜瑙傚療鐩戝惉 @@ -146,6 +147,9 @@ break; case DATA_LOADING: dataLoading(); + break; + case DATA_FINISH: + dataFinish(); break; case DATA_ERROR: dataError(); @@ -171,6 +175,9 @@ } }); } + + + /** * 缂虹渷椤电瓑鐘舵�佽鍥剧殑鏇存柊 * 鏈夐渶姹傜殑锛屽湪瀛愮被閫夋嫨閲嶅啓 @@ -180,6 +187,8 @@ protected void dialogDismiss() { } protected void dataLoading() { + } + protected void dataFinish() { } protected void dataError() { } @@ -194,12 +203,14 @@ * 鍒濆鍖栨矇娴稿紡鐘舵�佹爮 */ protected void initStatusBar(){ + if (getTitleBar() != null) { + getTitleBar().setOnTitleBarListener(this); + } if (isStatusBarImmersionEnabled()) { getImmersionBarConfig().init(); // 璁剧疆鏍囬鏍忔矇娴�() if (getTitleBar() != null) { ImmersionBar.setTitleBar(this, getTitleBar()); - getTitleBar().setOnTitleBarListener(this); } } } -- Gitblit v1.9.1