ソースを参照

修复幂动任务中刷新切换时可能会挂掉的问题

zengjiebin 7 年 前
コミット
efbfb3d0f6

+ 13 - 0
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -213,6 +213,19 @@ public class ViewUtil {
         dateDialog.show();
     }
 
+    public static void refreshXrv(XRecyclerView view_list) {
+        try {
+            if(view_list != null)
+                view_list.refresh();
+            /**
+             * java.lang.NullPointerException: Attempt to invoke virtual method 'void com.jcodecraeer.xrecyclerview.ArrowRefreshHeader.setState(int)' on a null object reference
+             *         at com.jcodecraeer.xrecyclerview.XRecyclerView.refresh(XRecyclerView.java:202)
+             */
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 主页抢任务,更换任务时,获取新的任务
      *

+ 5 - 6
app/src/main/java/com/sheep/gamegroup/view/activity/ActMiDong.java

@@ -104,14 +104,13 @@ public class ActMiDong extends BaseActivity {
             }
         });
         pager.setCurrentItem(0);
-
-        CommonUtil.getInstance()
-            .reflex(indicator, activity);
+        pager.setOffscreenPageLimit(fgtMiDongList.size());
+        CommonUtil.getInstance().reflex(indicator, activity);
         AdManager.getInstance(activity).setDownloadListener(new AppDownloadListener() {
             @Override
-            public void onDownloadStart(int s) {
-                LogUtil.println("AdManager", "onDownloadStart", s);
-                ACache.get(SheepApp.getInstance()).put(String.format(Locale.CHINA, "%s%d", AdManager.class.getSimpleName(), s), "onDownloadStart");
+            public void onDownloadStart(int id) {
+                LogUtil.println("AdManager", "onDownloadStart", id);
+                ACache.get(SheepApp.getInstance()).put(String.format(Locale.CHINA, "%s%d", AdManager.class.getSimpleName(), id), "onDownloadStart");
                 EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.REFRESH_MING_DONG));
 
             }

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/BaseListActivity.java

@@ -57,7 +57,7 @@ public abstract class BaseListActivity<T> extends BaseActivity {
         initView();
         initListener();
         if(!refreshDataAfterOnResume())
-            view_list.refresh();
+            ViewUtil.refreshXrv(view_list);
     }
 
     protected int page = 1;//页数
@@ -225,7 +225,7 @@ public abstract class BaseListActivity<T> extends BaseActivity {
     public void onResume() {
         super.onResume();
         if(refreshDataAfterOnResume()){
-            view_list.refresh();
+            ViewUtil.refreshXrv(view_list);
         }
     }
 

+ 3 - 2
app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment.java

@@ -46,7 +46,8 @@ public abstract class BaseListFragment<T> extends BaseFragment {
         initListener();
         switch (refreshDataType()) {
             case REFRESH_ON_CREATE:
-                view_list.refresh();
+                ViewUtil.refreshXrv(view_list);
+                break;
             case REFRESH_ON_RESUME:
                 break;
             case REFRESH_ON_YOURSELF:
@@ -142,7 +143,7 @@ public abstract class BaseListFragment<T> extends BaseFragment {
     public void onResume() {
         super.onResume();
         if (refreshDataType() == REFRESH_ON_RESUME) {
-            view_list.refresh();
+            ViewUtil.refreshXrv(view_list);
         }
     }
 

+ 3 - 2
app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment2.java

@@ -46,7 +46,8 @@ public abstract class BaseListFragment2<T> extends BaseFragment {
         initListener();
         switch (refreshDataType()) {
             case REFRESH_ON_CREATE:
-                view_list.refresh();
+                ViewUtil.refreshXrv(view_list);
+                break;
             case REFRESH_ON_RESUME:
                 break;
             case REFRESH_ON_YOURSELF:
@@ -177,7 +178,7 @@ public abstract class BaseListFragment2<T> extends BaseFragment {
     public void onResume() {
         super.onResume();
         if (refreshDataType() == REFRESH_ON_RESUME) {
-            view_list.refresh();
+            ViewUtil.refreshXrv(view_list);
         }
     }
 

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment3.java

@@ -47,6 +47,7 @@ public abstract class BaseListFragment3<T> extends BaseFragment {
         switch (refreshDataType()) {
             case REFRESH_ON_CREATE:
                 refreshData();
+                break;
             case REFRESH_ON_RESUME:
                 break;
             case REFRESH_ON_YOURSELF:

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtTryMakeMoney.java

@@ -186,7 +186,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
         activity = getActivity();
         initView();
         initListener();
-        view_list.refresh();
+        ViewUtil.refreshXrv(view_list);
 //        initData();
     }