From f8422f4ef1655a05bb474324d04884c23398da1a Mon Sep 17 00:00:00 2001 From: leopoldsedev Date: Mon, 10 Feb 2020 16:07:42 +0100 Subject: [PATCH] Fix SwipeRefreshLayout and ListView interaction. Scrolling interaction works out of the box only if ListView is the only child of SwipeRefreshLayout. See https://stackoverflow.com/a/26296897 --- .../github/gotify/messages/MessagesActivity.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/java/com/github/gotify/messages/MessagesActivity.java b/app/src/main/java/com/github/gotify/messages/MessagesActivity.java index c51c1b5..6f9b243 100644 --- a/app/src/main/java/com/github/gotify/messages/MessagesActivity.java +++ b/app/src/main/java/com/github/gotify/messages/MessagesActivity.java @@ -154,6 +154,20 @@ public class MessagesActivity extends AppCompatActivity } } }); + + swipeRefreshLayout.setEnabled(false); + messagesView + .getViewTreeObserver() + .addOnScrollChangedListener( + () -> { + View topChild = messagesView.getChildAt(0); + if (topChild != null) { + swipeRefreshLayout.setEnabled(topChild.getTop() == 0); + } else { + swipeRefreshLayout.setEnabled(true); + } + }); + new SelectApplicationAndUpdateMessages(true).execute(appId); }