Linjiajia
2023-03-28 bf4e40cdf60c2a2fd8a486051a1ddac2daefef62
app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java
@@ -20,12 +20,12 @@
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;
@@ -34,7 +34,7 @@
/**
 *  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;
@@ -49,10 +49,6 @@
    private ImmersionBar mImmersionBar;
    @Override
    protected void onResume() {
        super.onResume();
    }
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -63,13 +59,16 @@
        initParam();
        //页面view初始化方法
        initView();
        //页面数据初始化方法
        initData();
        //页面事件监听的方法,用于ViewModel层转到View层的事件注册
        initLiveDataObserve();
        ScreenSizeUtils.setCustomDensity(this, BaseApplication.getInstance());
    }
    @Override
    protected void onResume() {
        super.onResume();
        //页面数据初始化方法
        initData();
    }
    @Override
    protected void onDestroy() {
@@ -163,6 +162,12 @@
                    default:
                        break;
                }
            }
        });
        viewModel.getMessageLivaData().observe(this, new Observer<String>() {
            @Override
            public void onChanged(String message) {
                ToastUtils.showShort(message);
            }
        });
    }
@@ -287,6 +292,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();
            }
        }
    }