From 2b6fd0451bfa358052ac9eb061ec1ed595587e9e Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期二, 04 四月 2023 19:52:32 +0800
Subject: [PATCH] 改bug、
---
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