Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/sheep_develop' into sheep_develop

zengjiebin 7 gadi atpakaļ
vecāks
revīzija
bdf6ac0bc1

+ 20 - 8
app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment.java

@@ -2,6 +2,7 @@ package com.sheep.gamegroup.view.fragment;
 
 import android.app.Activity;
 import android.os.Bundle;
+import android.os.Handler;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
@@ -72,6 +73,7 @@ public abstract class BaseListFragment<T> extends BaseFragment {
     protected BaseMessage lastMessage;//最后一个网络获取的结果
     protected int page = 1;//页数
     protected int per_page = DataUtil.PER_PAGE;
+    private boolean loadMore;
 
     @Subscribe
     public void initView() {
@@ -92,13 +94,22 @@ public abstract class BaseListFragment<T> extends BaseFragment {
 
             @Override
             public void onLoadMore() {
-                if(ListUtil.size(list) >= per_page*page){
-                    page += 1;
-                    initData();
-                }else {
-                    view_list.setNoMore(true);
-                    setNoMore(true);
-                }
+                new Handler().postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        if(!loadMore){
+                            loadMore = true;
+                            if(ListUtil.size(list) >= per_page*page){
+                                page += 1;
+                                initData();
+                            }else {
+                                view_list.setNoMore(true);
+                                setNoMore(true);
+                            }
+                        }
+                    }
+                },1000);
+
             }
         });
         bottomLine = ViewUtil.setBottomLine(view_list, getNoMoreCallBack());
@@ -117,7 +128,7 @@ public abstract class BaseListFragment<T> extends BaseFragment {
     protected boolean isFirstGetACache(){
         return true;
     }
-    public void initData() {
+    public synchronized void initData() {
         final String urlKey = getKey(page, per_page);
         if(isFirstGetACache()) {
             //先尝试获取缓存数据
@@ -196,6 +207,7 @@ public abstract class BaseListFragment<T> extends BaseFragment {
         notifyDataSetChanged();
     }
     public void notifyDataSetChanged(){
+        loadMore = false;
         CommonUtil.getInstance().updateEmptyView(empty_view, list.isEmpty());
         if(page == 1){
             view_list.refreshComplete();

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

@@ -418,7 +418,7 @@ public class FgtPlayGame extends BaseFragment {
                 @Override
                 public void onPageSelected(int i) {
 //                    FIND_TAG.onEvent("find_tag_name", ListUtil.hasIndex(list, i - 1) );
-                    FgtPlayGameSon lastItem = (FgtPlayGameSon) mAdapter.getItem(i);
+                    FgtPlayGameSon lastItem = (FgtPlayGameSon) mAdapter.getItem(curPosition);
                     curPosition = i;
                     FgtPlayGameSon item = (FgtPlayGameSon) mAdapter.getItem(curPosition);
                     lastItem.setSelected(false);