Ver Fonte

优化Fragment结构

詹子聪 há 5 anos atrás
pai
commit
b712af2df8

+ 1 - 5
app/src/main/java/com/itant/shibei/ui/home/about/AboutFragment.java

@@ -1,12 +1,10 @@
 package com.itant.shibei.ui.home.about;
 
 import android.content.DialogInterface;
-import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.View;
 import android.widget.TextView;
 
-import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 
 import com.itant.shibei.R;
@@ -31,14 +29,12 @@ public class AboutFragment extends BaseMVPFragment implements View.OnClickListen
     UpgradePresenter upgradePresenter;
 
     @Override
-    public void onCreateViewFinished(@Nullable Bundle savedInstanceState) {
+    protected void onViewInit() {
         TextView tv_title = rootView.findViewById(R.id.tv_title);
         tv_title.setText(" 拾贝 v" + SystemTool.getVersionName(getActivity()));
         rootView.findViewById(R.id.tv_feedback).setOnClickListener(this);
         rootView.findViewById(R.id.tv_update).setOnClickListener(this);
         rootView.findViewById(R.id.tv_more).setOnClickListener(this);
-
-        super.onCreateViewFinished(savedInstanceState);
     }
 
     @Override

+ 1 - 5
app/src/main/java/com/itant/shibei/ui/home/coupon/TemplateFragment.java

@@ -2,9 +2,7 @@ package com.itant.shibei.ui.home.coupon;
 
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.os.Bundle;
 
-import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
@@ -60,7 +58,7 @@ public class TemplateFragment extends BaseMVPFragment implements ITemplateView<C
     }
 
     @Override
-    public void onCreateViewFinished(@Nullable Bundle savedInstanceState) {
+    protected void onViewInit() {
         rv_template = rootView.findViewById(R.id.rv_template);
         // 必须要设置LayoutManager,否则RecyclerView不知道要使用什么布局,从而在界面上不显示
         LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
@@ -107,8 +105,6 @@ public class TemplateFragment extends BaseMVPFragment implements ITemplateView<C
                 }
             }
         });
-
-        super.onCreateViewFinished(savedInstanceState);
     }
 
     @Override

+ 1 - 5
app/src/main/java/com/itant/shibei/ui/home/goods/GoodsFragment.java

@@ -2,10 +2,8 @@ package com.itant.shibei.ui.home.goods;
 
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.os.Bundle;
 import android.util.TypedValue;
 
-import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
@@ -59,7 +57,7 @@ public class GoodsFragment extends BaseMVPFragment implements IGoodsView, ITopAc
     }
 
     @Override
-    public void onCreateViewFinished(@Nullable Bundle savedInstanceState) {
+    protected void onViewInit() {
         rv_goods = rootView.findViewById(R.id.rv_goods);
         // 必须要设置LayoutManager,否则RecyclerView不知道要使用什么布局,从而在界面上不显示
         LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
@@ -107,8 +105,6 @@ public class GoodsFragment extends BaseMVPFragment implements IGoodsView, ITopAc
                 }
             }
         });
-
-        super.onCreateViewFinished(savedInstanceState);
     }
 
     @Override

+ 1 - 6
app/src/main/java/com/itant/shibei/ui/home/tool/ToolFragment.java

@@ -1,12 +1,9 @@
 package com.itant.shibei.ui.home.tool;
 
 import android.content.Intent;
-import android.os.Bundle;
 import android.view.View;
 import android.widget.TextView;
 
-import androidx.annotation.Nullable;
-
 import com.itant.shibei.R;
 import com.itant.shibei.bean.SystemBean;
 import com.itant.shibei.constant.ConstantUrl;
@@ -34,7 +31,7 @@ public class ToolFragment extends BaseMVPFragment implements View.OnClickListene
     private TextView tv_yiji;
 
     @Override
-    public void onCreateViewFinished(@Nullable Bundle savedInstanceState) {
+    protected void onViewInit() {
         tv_weather = rootView.findViewById(R.id.tv_weather);
         tv_yiji = rootView.findViewById(R.id.tv_yiji);
         rootView.findViewById(R.id.fl_get_json).setOnClickListener(this);
@@ -42,8 +39,6 @@ public class ToolFragment extends BaseMVPFragment implements View.OnClickListene
         rootView.findViewById(R.id.fl_weather).setOnClickListener(this);
         rootView.findViewById(R.id.fl_yiji).setOnClickListener(this);
         rootView.findViewById(R.id.fl_biao_qing).setOnClickListener(this);
-
-        super.onCreateViewFinished(savedInstanceState);
     }
 
     @Override

+ 7 - 0
mvp/src/main/java/com/miekir/mvp/view/BaseMVPFragment.java

@@ -28,6 +28,8 @@ public abstract class BaseMVPFragment extends BaseFragment implements IView {
 
     @Override
     public  void onCreateViewFinished(@Nullable Bundle savedInstanceState) {
+        onViewInit();
+
         mInjectPresenters = new ArrayList<>();
         Field[] fields = this.getClass().getDeclaredFields();
         for (Field field : fields) {
@@ -56,6 +58,11 @@ public abstract class BaseMVPFragment extends BaseFragment implements IView {
         loadData();
     }
 
+    /**
+     * View初始化
+     */
+    protected abstract void onViewInit();
+
     @Override
     public void setUserVisibleHint(boolean isVisibleToUser) {
         super.setUserVisibleHint(isVisibleToUser);