Просмотр исходного кода

优化列表刷新与高度计算

zengjiebin лет назад: 7
Родитель
Сommit
f9bedd9d2d

+ 27 - 10
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -232,11 +232,8 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                     checkAndInitView();
                     break;
                 case 2:
-                    int count = 0;
-                    for (int i = 0; i < adpViewPagerDetail.getCount(); i++) {
-                        FgtTryMakeMoney item = (FgtTryMakeMoney) adpViewPagerDetail.getItem(i);
-                        count = Math.max(item.getDataCount(), count);
-                    }
+                    FgtTryMakeMoney item = (FgtTryMakeMoney) adpViewPagerDetail.getItem(curPosition);
+                    int count = item.getDataCount();
                     ViewGroup.LayoutParams params = mViewPager.getLayoutParams();
                     params.height = count == 0 ? G.HEIGHT / 3 : (count * getResources().getDimensionPixelSize(R.dimen.content_padding_96)+getResources().getDimensionPixelSize(R.dimen.content_padding_20));
                     mViewPager.setLayoutParams(params);
@@ -305,8 +302,26 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
         tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
         tabLayout.setupWithViewPager(mViewPager);
+        mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+
+            }
+
+            @Override
+            public void onPageSelected(int position) {
+                curPosition = position;
+                mHanderl.sendEmptyMessage(2);//重新计算viewpager高度
+            }
+
+            @Override
+            public void onPageScrollStateChanged(int state) {
+
+            }
+        });
         CommonUtil.getInstance().reflex(tabLayout, activity);
     }
+    private int curPosition = 0;
 
 
     private void loadUserInfo() {
@@ -418,11 +433,11 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             loadUserInfo();
         }
         //任务
-        List<TaskReleaseEty> cacheTaskReleaseEtyList = DataUtil.getInstance().getCacheList(ApiKey.release_task, TaskReleaseEty.class);
-        if (cacheTaskReleaseEtyList != null) {
-            releaseEtyLists.addAll(cacheTaskReleaseEtyList);
-            mHanderl.sendEmptyMessage(1);
-        }
+//        List<TaskReleaseEty> cacheTaskReleaseEtyList = DataUtil.getInstance().getCacheList(ApiKey.release_task, TaskReleaseEty.class);
+//        if (cacheTaskReleaseEtyList != null) {
+//            releaseEtyLists.addAll(cacheTaskReleaseEtyList);
+//            mHanderl.sendEmptyMessage(1);
+//        }
 
 
         //实时动态
@@ -668,6 +683,8 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         G.showToast("取消任务成功");
         CommonUtil.getInstance().setTAskEnty(null);
         refreshTaskList();
+        FgtTryMakeMoney item = (FgtTryMakeMoney) adpViewPagerDetail.getItem(0);//因为放弃了任务,所以刷新可以接收的任务列表
+        item.refreshData();
     }
 
     @Override

+ 3 - 0
app/src/main/java/com/sheep/gamegroup/util/DataUtil.java

@@ -398,6 +398,9 @@ public class DataUtil {
         }
         return null;
     }
+    public static boolean 是官方包吗(){
+        return "kfzs".equals(ChannelContent.getInstance().getChannel_name());
+    }
 //    //正在运行的任务
 //    List<TaskAcceptedEty> taskAcceptedEtyList = ListUtil.emptyList();
 //    public void addTaskAcceptedEtyList(List<TaskAcceptedEty> list) {

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

@@ -246,7 +246,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
             getFromACache(type);
         }
         //加载网络数据
-        if(TextUtils.isEmpty(show_type))
+        if(TextUtils.isEmpty(show_type))//这里为
             type = 0;
         getFromNetWork(type);
     }