Skip to content

Commit afb4a2f

Browse files
author
zhangxq
committed
修复NestedScroll关闭加载更多情况下,可以上拉的bug
1 parent 2d5bdea commit afb4a2f

File tree

5 files changed

+17
-10
lines changed

5 files changed

+17
-10
lines changed

app/src/main/java/com/zhangxq/test/coordinatorlayout/PageFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
3535
qRefreshLayout = view.findViewById(R.id.refreshLayout);
3636
qRefreshLayout.setOnRefreshListener(this);
3737
qRefreshLayout.setOnLoadListener(this);
38+
qRefreshLayout.setRefreshing(true);
3839

3940
adapter = new RecyclerAdapter();
4041
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
4142
recyclerView.setAdapter(adapter);
42-
down();
4343
return view;
4444
}
4545

app/src/main/java/com/zhangxq/test/listview/ListViewActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
4040
qRefreshLayout.setOnLoadListener(this);
4141
qRefreshLayout.setRefreshView(new MyRefreshView(this));
4242
qRefreshLayout.setLoadView(new MyLoadView(this));
43+
qRefreshLayout.setRefreshing(true);
4344

4445
listView = findViewById(R.id.listView);
4546
listView.setOnItemClickListener(this);
4647
adapter = new ListAdapter();
4748
listView.setAdapter(adapter);
48-
down();
4949
}
5050

5151
private void down() {

app/src/main/java/com/zhangxq/test/recyclerview/RecyclerViewActivity.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
public class RecyclerViewActivity extends AppCompatActivity implements QRefreshLayout.OnRefreshListener, QRefreshLayout.OnLoadListener {
2525
private RecyclerView recyclerView;
26-
private QRefreshLayout QRefreshLayout;
26+
private QRefreshLayout qRefreshLayout;
2727

2828
private List<String> datas = new ArrayList<>();
2929
private RecyclerAdapter adapter;
@@ -33,14 +33,14 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
3333
super.onCreate(savedInstanceState);
3434
setContentView(R.layout.activity_recyclerview);
3535
recyclerView = findViewById(R.id.recyclerView);
36-
QRefreshLayout = findViewById(R.id.refreshLayout);
37-
QRefreshLayout.setOnRefreshListener(this);
38-
QRefreshLayout.setOnLoadListener(this);
36+
qRefreshLayout = findViewById(R.id.refreshLayout);
37+
qRefreshLayout.setOnRefreshListener(this);
38+
qRefreshLayout.setOnLoadListener(this);
39+
qRefreshLayout.setRefreshing(true);
3940

4041
adapter = new RecyclerAdapter();
4142
recyclerView.setLayoutManager(new LinearLayoutManager(this));
4243
recyclerView.setAdapter(adapter);
43-
down();
4444
}
4545

4646
private void down() {
@@ -65,7 +65,7 @@ public void onRefresh() {
6565
@Override
6666
public void run() {
6767
down();
68-
QRefreshLayout.setRefreshing(false);
68+
qRefreshLayout.setRefreshing(false);
6969
}
7070
}, 1000);
7171
}
@@ -76,7 +76,7 @@ public void onLoad() {
7676
@Override
7777
public void run() {
7878
up();
79-
QRefreshLayout.setLoading(false);
79+
qRefreshLayout.setLoading(false);
8080
}
8181
}, 1000);
8282
}

app/src/main/res/layout/view_refresh.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
android:layout_width="wrap_content"
2424
android:layout_height="wrap_content"
2525
android:layout_alignParentRight="true"
26-
android:layout_centerVertical="true" />
26+
android:layout_centerVertical="true"
27+
android:layout_marginRight="10dp" />
2728

2829
<ProgressBar
2930
android:id="@+id/progressBar"

refreshlayout/src/main/java/com/zhangxq/refreshlayout/QRefreshLayout.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ public QRefreshLayout(Context context, AttributeSet attrs) {
9494
viewLoadContainer.setVisibility(GONE);
9595
addView(viewRefreshContainer);
9696
addView(viewLoadContainer);
97+
ensureTarget();
9798
}
9899

99100
public void setLoadEnable(boolean isEnable) {
@@ -208,6 +209,7 @@ public void setOnLoadListener(OnLoadListener listener) {
208209
* @param refreshing
209210
*/
210211
public void setRefreshing(boolean refreshing) {
212+
ensureTarget();
211213
if (refreshing) {
212214
if (isRefreshing || isLoading || dragMode != 0) return;
213215
if (!isRefreshing) {
@@ -236,6 +238,8 @@ public boolean isRefreshing() {
236238
* @param loading
237239
*/
238240
public void setLoading(boolean loading) {
241+
if (!isLoadEnable) return;
242+
ensureTarget();
239243
if (loading) {
240244
if (isLoading || isRefreshing || dragMode != 0) return;
241245
if (!isLoading) {
@@ -587,6 +591,7 @@ private void onNestedDraging(float offset) {
587591
viewRefresh.setPullToRefresh();
588592
}
589593
} else {
594+
if (!isLoadEnable) return;
590595
if (overScroll < -viewContentHeight / 2) {
591596
overScroll = -viewContentHeight / 2;
592597
}
@@ -612,6 +617,7 @@ private void onTouchUp() {
612617
}
613618
}
614619
} else {
620+
if (!isLoadEnable) return;
615621
if (overScroll < -loadMidHeight) {
616622
animateToLoad();
617623
} else {

0 commit comments

Comments
 (0)