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