Skip to content

Commit 3a77fd2

Browse files
author
ztiany
committed
enhance function
1 parent 26ac3cd commit 3a77fd2

4 files changed

Lines changed: 24 additions & 27 deletions

File tree

app/src/main/java/com/ztiany/loadmore/DemoFragment.java

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import com.ztiany.loadmore.adapter.WrapperAdapter;
1616

1717
import java.util.ArrayList;
18-
import java.util.Arrays;
1918
import java.util.List;
2019

2120
import androidx.annotation.NonNull;
@@ -149,7 +148,7 @@ public void getItemOffsets(
149148
}
150149
});
151150

152-
mWrapperAdapter = WrapperAdapter.wrap(mRecyclerAdapter);
151+
mWrapperAdapter = WrapperAdapter.wrap(mRecyclerAdapter,true);
153152
mRecyclerView.setAdapter(mWrapperAdapter);
154153

155154
Bundle arguments = getArguments();
@@ -178,6 +177,7 @@ public void run() {
178177
for (int i = 0; i < 20; i++) {
179178
mData.add("我是Item " + i);
180179
}
180+
count = 20;
181181
mRecyclerAdapter.notifyDataSetChanged();
182182
mRefreshLayout.setRefreshing(false);
183183
mWrapperAdapter.loadCompleted(mHasMore);
@@ -213,33 +213,15 @@ public void run() {
213213
return;
214214
}
215215

216-
mRecyclerAdapter.addAll(Arrays.asList(
217-
"新来的Item" + count++,
218-
"新来的Item" + count++,
219-
"新来的Item" + count++,
220-
"新来的Item" + count++,
221-
"新来的Item" + count++,
222-
"新来的Item" + count++,
223-
"新来的Item" + count++,
224-
"新来的Item" + count++,
225-
"新来的Item" + count++,
226-
"新来的Item" + count++,
227-
"新来的Item" + count++,
228-
"新来的Item" + count++,
229-
"新来的Item" + count++,
230-
"新来的Item" + count++,
231-
"新来的Item" + count++,
232-
"新来的Item" + count++,
233-
"新来的Item" + count++,
234-
"新来的Item" + count++,
235-
"新来的Item" + count++,
236-
"新来的Item" + count++,
237-
"新来的Item" + count++));
238-
216+
List<String> newData = new ArrayList<>();
217+
for (int i = 0; i < 20; i++) {
218+
newData.add("新来的Item" + count++);
219+
}
220+
mRecyclerAdapter.addAll(newData);
239221
mWrapperAdapter.loadCompleted(mAddNewHasMore);
240-
241222
}
242223
}, 100);
224+
243225
}
244226
});
245227

library/src/main/java/com/ztiany/loadmore/adapter/ILoadMore.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,6 @@ public interface ILoadMore {
2121
*/
2222
void setVisibilityWhenNoMore(int visibility);
2323

24+
void setMinLoadMoreInterval(long minLoadMoreInterval);
25+
2426
}

library/src/main/java/com/ztiany/loadmore/adapter/LoadMoreImpl.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ class LoadMoreImpl implements ILoadMore {
2525
private int mCurrentStatus = STATUS_NONE;
2626

2727
private long mPreviousTimeCallingLoadMore;
28+
29+
private long mMixLoadMoreInterval = 0;
30+
2831
private final boolean timeLimited;
2932

3033
@LoadMode private int mLoadMode = LoadMode.AUTO_LOAD;
@@ -58,7 +61,7 @@ private boolean checkIfNeedCallLoadMoreWhenAutoMode(int direction) {
5861
return false;
5962
}
6063
if (timeLimited) {
61-
return System.currentTimeMillis() - mPreviousTimeCallingLoadMore >= 250;
64+
return System.currentTimeMillis() - mPreviousTimeCallingLoadMore >= mMixLoadMoreInterval;
6265
} else {
6366
return true;
6467
}
@@ -115,6 +118,11 @@ private void initClickLoadMoreViewStatus() {
115118
}
116119
}
117120

121+
@Override
122+
public void setMinLoadMoreInterval(long mixLoadMoreInterval) {
123+
mMixLoadMoreInterval = mixLoadMoreInterval;
124+
}
125+
118126
private void initLoadMoreView(ViewGroup parent) {
119127
if (mLoadMoreViewFactory == null) {
120128
mLoadMoreView = new LoadMoreView(parent.getContext());

library/src/main/java/com/ztiany/loadmore/adapter/WrapperAdapter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,4 +248,9 @@ public void setVisibilityWhenNoMore(int visibility) {
248248
mLoadMoreManager.setVisibilityWhenNoMore(visibility);
249249
}
250250

251+
@Override
252+
public void setMinLoadMoreInterval(long minLoadMoreInterval) {
253+
mLoadMoreManager.setMinLoadMoreInterval(minLoadMoreInterval);
254+
}
255+
251256
}

0 commit comments

Comments
 (0)