From f7d36b0f2c254a048905ae27c9e421427eb0f2c8 Mon Sep 17 00:00:00 2001
From: Administrator <123>
Date: Thu, 04 Nov 2021 02:04:19 +0000
Subject: [PATCH] tablayout 框架   分页加载框架

---
 app/src/main/java/com/duqing/missions/base/activities/BaseActivity.java |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/com/duqing/missions/base/BaseActivity.java b/app/src/main/java/com/duqing/missions/base/activities/BaseActivity.java
similarity index 96%
rename from app/src/main/java/com/duqing/missions/base/BaseActivity.java
rename to app/src/main/java/com/duqing/missions/base/activities/BaseActivity.java
index 3d37b2c..ada8707 100644
--- a/app/src/main/java/com/duqing/missions/base/BaseActivity.java
+++ b/app/src/main/java/com/duqing/missions/base/activities/BaseActivity.java
@@ -1,4 +1,4 @@
-package com.duqing.missions.base;
+package com.duqing.missions.base.activities;
 
 import android.Manifest;
 import android.app.AlertDialog;
@@ -26,6 +26,8 @@
 import androidx.annotation.StringRes;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.core.content.FileProvider;
+import androidx.lifecycle.ViewModel;
+import androidx.lifecycle.ViewModelProvider;
 import androidx.viewbinding.ViewBinding;
 
 import com.duqing.missions.MyApplication;
@@ -58,11 +60,13 @@
 import okhttp3.ResponseBody;
 
 /**
+ * activity 封装
  * Created by Administrator on 2021/10/27 0027.
  */
-public abstract class BaseActivity<B extends ViewBinding> extends AppCompatActivity {
+public abstract class BaseActivity<B extends ViewBinding,VM extends ViewModel> extends AppCompatActivity {
 
     protected  B binding;
+    protected  VM viewModel;
     protected String TAG ;
     public final String[] FILE_PERMISSIONS = new String []{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE};
     public final String[] LOCATION_PERMISSIONS = new String []{Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION};
@@ -106,10 +110,13 @@
         // get genericity "B"
         setStatusBarBgColor(R.color.white);
         setStatusBarTextColor(true);
-        Class<B> entityClass = (Class<B>) ((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
         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();
         }

--
Gitblit v1.9.1