From 462d583986e4739f7a75227b3fde4da587502ba5 Mon Sep 17 00:00:00 2001 From: Administrator <123> Date: Fri, 05 Nov 2021 03:20:39 +0000 Subject: [PATCH] 主页 动态UI adapter null视图问题修改 分页框架 include问题 --- app/src/main/java/com/duqing/missions/base/activities/BaseActivity.java | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/duqing/missions/base/activities/BaseActivity.java b/app/src/main/java/com/duqing/missions/base/activities/BaseActivity.java index ada8707..877c655 100644 --- a/app/src/main/java/com/duqing/missions/base/activities/BaseActivity.java +++ b/app/src/main/java/com/duqing/missions/base/activities/BaseActivity.java @@ -32,6 +32,7 @@ import com.duqing.missions.MyApplication; import com.duqing.missions.R; +import com.duqing.missions.base.ViewModelFactory; import com.duqing.missions.data.ApkUpGradeResult; import com.duqing.missions.util.MyLog; import com.duqing.missions.util.ResPonse; @@ -110,16 +111,16 @@ // get genericity "B" setStatusBarBgColor(R.color.white); setStatusBarTextColor(true); + final ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass(); try { - final ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass(); Class<B> entityClass = (Class<B>) type.getActualTypeArguments()[0]; Method method = entityClass.getMethod("inflate", LayoutInflater.class);//get method from name "inflate"; binding = (B) method.invoke(entityClass,getLayoutInflater());//execute method to create a objct of viewbind; - Class<VM> vmClass = (Class<VM>) type.getActualTypeArguments()[1]; - viewModel = new ViewModelProvider(this).get(vmClass); } catch (Exception e) { e.printStackTrace(); } + Class<VM> vmClass = (Class<VM>) type.getActualTypeArguments()[1]; + viewModel = new ViewModelProvider(this,getViewModelFactory()).get(vmClass); setContentView(binding.getRoot()); mContext = this; try { @@ -133,6 +134,9 @@ public abstract void initViews(); + public ViewModelProvider.Factory getViewModelFactory(){ + return ViewModelFactory.getInstance(); + } public void setStatusBarTransparent(boolean isBlack){ //透明状态栏 -- Gitblit v1.9.1