Skip to content

Commit 44302c7

Browse files
committed
add a method which can set loadmore's string, and fix something
1 parent c86b045 commit 44302c7

File tree

11 files changed

+144
-136
lines changed

11 files changed

+144
-136
lines changed

Library/Library.iml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module external.linked.project.id=":Library" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="Android-PullToRefreshRecyclerView" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
2+
<module external.linked.project.id=":Library" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="homhomlin.lib" external.system.module.version="1.0.0" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="android-gradle" name="Android-Gradle">
55
<configuration>
@@ -60,6 +60,7 @@
6060
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
6161
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
6262
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
63+
<excludeFolder url="file://$MODULE_DIR$/build/docs" />
6364
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
6465
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
6566
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
@@ -82,7 +83,9 @@
8283
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
8384
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
8485
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
86+
<excludeFolder url="file://$MODULE_DIR$/build/libs" />
8587
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
88+
<excludeFolder url="file://$MODULE_DIR$/build/publications" />
8689
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
8790
</content>
8891
<orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" />
214 Bytes
Binary file not shown.

Library/build/intermediates/bundles/release/res/values/values.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
<color name="swap_holo_pure_bright">#d066b1</color>
88
<!-- From: file:/F:/Project/Android-PullToRefreshRecyclerView/Library/res/values/strings.xml -->
99
<eat-comment/>
10-
<string name="loading">加载中...</string>
10+
<string name="loading">loading...</string>
1111
</resources>

Library/build/intermediates/incremental/mergeResourcesrelease/merger.xml

Lines changed: 84 additions & 84 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<merger version="3"><dataSet config="main"><source path="F:\Project\Android-PullToRefreshRecyclerView\Library\res"><file name="ptrrv_root_view" path="F:\Project\Android-PullToRefreshRecyclerView\Library\res\layout\ptrrv_root_view.xml" qualifiers="" type="layout"/><file path="F:\Project\Android-PullToRefreshRecyclerView\Library\res\values\colors.xml" qualifiers=""><color name="swap_holo_pure_bright">#d066b1</color><color name="swap_holo_bule_bright">#4996e5</color><color name="swap_holo_green_bright">#48B94A</color></file><file path="F:\Project\Android-PullToRefreshRecyclerView\Library\res\values\strings.xml" qualifiers=""><string name="loading">加载中...</string></file></source><source path="F:\Project\Android-PullToRefreshRecyclerView\Library\build\generated\res\rs\release"/><source path="F:\Project\Android-PullToRefreshRecyclerView\Library\build\generated\res\resValues\release"/></dataSet><dataSet config="release"><source path="F:\Project\Android-PullToRefreshRecyclerView\Library\src\release\res"/></dataSet><mergedItems/></merger>
2+
<merger version="3"><dataSet config="main"><source path="F:\Project\Android-PullToRefreshRecyclerView\Library\res"><file name="ptrrv_root_view" path="F:\Project\Android-PullToRefreshRecyclerView\Library\res\layout\ptrrv_root_view.xml" qualifiers="" type="layout"/><file path="F:\Project\Android-PullToRefreshRecyclerView\Library\res\values\colors.xml" qualifiers=""><color name="swap_holo_pure_bright">#d066b1</color><color name="swap_holo_bule_bright">#4996e5</color><color name="swap_holo_green_bright">#48B94A</color></file><file path="F:\Project\Android-PullToRefreshRecyclerView\Library\res\values\strings.xml" qualifiers=""><string name="loading">loading...</string></file></source><source path="F:\Project\Android-PullToRefreshRecyclerView\Library\build\generated\res\rs\release"/><source path="F:\Project\Android-PullToRefreshRecyclerView\Library\build\generated\res\resValues\release"/></dataSet><dataSet config="release"><source path="F:\Project\Android-PullToRefreshRecyclerView\Library\src\release\res"/></dataSet><mergedItems/></merger>

Library/build/intermediates/res/merged/release/values/values.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@
204204
<string name="abc_toolbar_collapse_description">Collapse</string>
205205
<!-- From: file:/F:/Project/Android-PullToRefreshRecyclerView/Library/res/values/strings.xml -->
206206
<eat-comment/>
207-
<string name="loading">加载中...</string>
207+
<string name="loading">loading...</string>
208208
<!-- From: file:/F:/Project/Android-PullToRefreshRecyclerView/Library/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.1.1/res/values/values.xml -->
209209
<eat-comment/>
210210
<style name="AlertDialog.AppCompat" parent="Base.AlertDialog.AppCompat"/>
205 Bytes
Binary file not shown.

Library/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
3-
<string name="loading">加载中...</string>
3+
<string name="loading">loading...</string>
44
</resources>

Library/src/com/lhh/ptrrv/library/PullToRefreshRecyclerView.java

Lines changed: 42 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,18 @@ public class PullToRefreshRecyclerView extends SwipeRefreshLayout implements Prv
2727

2828
private RecyclerView mRecyclerView;
2929

30-
private Header mRootHeader;//留白header
30+
//root header
31+
private Header mRootHeader;
3132

32-
private RelativeLayout mRootRelativeLayout;//主view,包含footer,header等
33+
//main view,contain footer,header etc.
34+
private RelativeLayout mRootRelativeLayout;
3335

3436
private View mHeader;//header
3537

3638
private View mEmptyView;
3739

38-
private int mLoadMoreCount = 10;//default = 10
40+
//default = 10
41+
private int mLoadMoreCount = 10;
3942

4043
private int mCurScroll;
4144

@@ -45,12 +48,6 @@ public class PullToRefreshRecyclerView extends SwipeRefreshLayout implements Prv
4548

4649
private BaseFooter mLoadMoreFooter;
4750

48-
// private RecyclerView.LayoutManager mLayoutManger;
49-
50-
// private LinearLayoutManager mLinearLayoutManager;
51-
52-
// private LayoutParams mFullLayoutParams;//全屏型lp
53-
5451
private PagingableListener mPagingableListener;
5552

5653
// private int[] mSpanItem;
@@ -74,7 +71,7 @@ public interface OnScrollListener{
7471
void onScrollStateChanged(RecyclerView recyclerView, int newState);
7572
void onScrolled(RecyclerView recyclerView, int dx, int dy);
7673

77-
//old-method,仿造listview做的,这里应该没什么用处:by linhonghong 2015.10.29
74+
//old-method, like listview 's onScroll ,but it's no use ,right ? by linhonghong 2015.10.29
7875
void onScroll(RecyclerView recyclerView, int firstVisibleItem, int visibleItemCount, int totalItemCount);
7976
}
8077

@@ -88,10 +85,6 @@ public PullToRefreshRecyclerView(Context context, AttributeSet attrs) {
8885
this.setup(context);
8986
}
9087

91-
public void release(){
92-
93-
}
94-
9588
/**
9689
* 全局入口
9790
*/
@@ -125,15 +118,15 @@ private void initView(){
125118
}
126119

127120
/**
128-
* 初始化七七八八的东西
121+
* Init
129122
* @param context
130123
*/
131124
private void setupExtra(Context context){
132125
mContext = context;
133126
isLoading = false;
134127
hasMoreItems = false;
135128
// mSpanItem = new int[SPAN_SIZE];
136-
//初始化一些七七八八的东西
129+
//init something
137130
// if(mFullLayoutParams == null) {
138131
// mFullLayoutParams = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
139132
// }
@@ -179,7 +172,7 @@ public void setAdapter(RecyclerView.Adapter adapter) {
179172

180173
@Override
181174
public void addHeaderView(View view) {
182-
//2015.11.17实现
175+
//2015.11.17 finish method
183176
if(mHeader != null){
184177
mRootRelativeLayout.removeView(mHeader);
185178
}
@@ -199,10 +192,10 @@ public void onGlobalLayout() {
199192
mHeader.getViewTreeObserver().removeGlobalOnLayoutListener(this);
200193
}
201194

202-
if(getRecyclerView() == null || mHeader == null){
195+
if (getRecyclerView() == null || mHeader == null) {
203196
return;
204197
}
205-
if(mRootHeader == null){
198+
if (mRootHeader == null) {
206199
mRootHeader = new Header();
207200
}
208201
mRootHeader.setHeight(mHeader.getMeasuredHeight());
@@ -219,7 +212,7 @@ public void onGlobalLayout() {
219212

220213
@Override
221214
public void setFooter(View view) {
222-
//空实现,我不做处理这里。请在外部adapter做处理
215+
// now is empty, you can do in extra adapter
223216
}
224217

225218
@Override
@@ -237,18 +230,23 @@ public RecyclerView.LayoutManager getLayoutManager() {
237230

238231
@Override
239232
public void onFinishLoading(boolean hasMoreItems, boolean needSetSelection) {
240-
//当一页数据太少的时候,不用显示loadingview
241-
//临时修改,当一页数据太少的时候,不用显示loadingview
242233
if(getLayoutManager() == null){
243234
return;
244235
}
245236
if(!hasMoreItems){
246-
//如果是最后一行
247-
mCurScroll = mCurScroll - 100;//减去多出的loadmore的高度
237+
238+
//if it's last line, minus the extra height of loadmore
239+
mCurScroll = mCurScroll - 100;
240+
248241
}
249-
if (getLayoutManager().getItemCount() < mLoadMoreCount)
242+
243+
// if items is too short, don't show loadingview
244+
if (getLayoutManager().getItemCount() < mLoadMoreCount) {
245+
250246
hasMoreItems = false;
251247

248+
}
249+
252250
setHasMoreItems(hasMoreItems);
253251

254252
isLoading = false;
@@ -318,7 +316,7 @@ public int findFirstCompletelyVisibleItemPosition(){
318316

319317
@Override
320318
public void setSwipeEnable(boolean enable) {
321-
//just like extra setEnable(boolean).这里和外部一样的,不过这里控制更方便super.setenable
319+
//just like extra setEnable(boolean).but it's more easy to use, like super.setEnable
322320
mIsSwipeEnable = enable;
323321
this.setEnabled(mIsSwipeEnable);
324322
}
@@ -345,6 +343,17 @@ public void setLoadMoreCount(int count) {
345343
mLoadMoreCount = count;
346344
}
347345

346+
@Override
347+
public void release() {
348+
349+
}
350+
351+
public void setLoadmoreString(String str){
352+
if(mLoadMoreFooter != null){
353+
mLoadMoreFooter.setLoadmoreString(str);
354+
}
355+
}
356+
348357
private void setHasMoreItems(boolean hasMoreItems) {
349358
this.hasMoreItems = hasMoreItems;
350359
if(mLoadMoreFooter == null){
@@ -366,7 +375,7 @@ private class InterOnScrollListener extends RecyclerView.OnScrollListener{
366375
@Override
367376
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
368377
super.onScrollStateChanged(recyclerView, newState);
369-
//在向下回调之前做super处理
378+
//do super before callback
370379
if(mOnScrollLinstener != null){
371380
mOnScrollLinstener.onScrollStateChanged(recyclerView,newState);
372381
}
@@ -375,7 +384,7 @@ public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
375384
@Override
376385
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
377386
super.onScrolled(recyclerView, dx, dy);
378-
//在向下回调之前做处理,do before callback
387+
//do super before callback
379388
if(getLayoutManager() == null){
380389
//here layoutManager is null
381390
return;
@@ -394,12 +403,13 @@ public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
394403
visibleItemCount = getLayoutManager().getChildCount();
395404
totalItemCount = getLayoutManager().getItemCount();
396405
firstVisibleItem = findFirstVisibleItemPosition();
397-
lastVisibleItem = findLastVisibleItemPosition();//有可能最后一项实在太大了,没办法完全显示
406+
//sometimes ,the last item is too big so as that the screen cannot show the item fully
407+
lastVisibleItem = findLastVisibleItemPosition();
398408
// lastVisibleItem = mLinearLayoutManager.findLastCompletelyVisibleItemPosition();
399409

400410
if(mIsSwipeEnable) {
401411
if (findFirstCompletelyVisibleItemPosition() != 0) {
402-
//这里还有个bug,如果用findFirstCompletelyVisibleItemPosition会产生如果第一条太大,没办法完全显示则无法下啦刷新,但如果不用又会导致没拉到顶就可以下拉
412+
//here has a bug, if the item is too big , use findFirstCompletelyVisibleItemPosition会产生如果第一条太大,没办法完全显示则无法下啦刷新,但如果不用又会导致没拉到顶就可以下拉
403413
//如果不是第一条可见就不让下拉,要不然会出现很严重的到处都能下拉的问题
404414
PullToRefreshRecyclerView.this.setEnabled(false);
405415
} else {
@@ -417,7 +427,6 @@ public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
417427
}
418428

419429
}
420-
//如果totalItemCount = adapter的最大就下拉刷新
421430

422431
if(mOnScrollLinstener != null){
423432
mOnScrollLinstener.onScrolled(recyclerView, dx, dy);
@@ -431,9 +440,9 @@ private class AdapterObserver extends RecyclerView.AdapterDataObserver{
431440
@Override
432441
public void onChanged() {
433442
super.onChanged();
434-
//数据变化,外部对adapter进行了数据刷新会直接调用到这里的代码
443+
//adapter has change
435444
if(mRecyclerView == null){
436-
//这里出错了,rv怎么可能是空的???
445+
//here must be wrong ,recyclerView is null????
437446
return;
438447
}
439448

Library/src/com/lhh/ptrrv/library/footer/BaseFooter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@
66
* Created by Linhh on 15/11/15.
77
*/
88
public class BaseFooter extends RecyclerView.ItemDecoration {
9+
public void setLoadmoreString(String str){
10+
}
911
}

0 commit comments

Comments
 (0)