Występuje problem z opcją SwipeRefreshLayout. Mam widok listy w układzie i za każdym razem, gdy przewijam w górę w widoku listy, przesunięcie w celu odświeżenia układu jest utrudnione i nigdy nie można przewinąć z powrotem do góry układu. Ktoś ma jakieś pomysły?Nie można przewinąć w widoku listy w swipeRefreshLayout
Odpowiedz
Znalazłem odpowiedź na moje pytanie. Ręczne włączam opcję przesunięciaRefreshLayout, gdy pierwsze dziecko z listy znajduje się na górze listy.
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView listView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int topRowVerticalPosition = (listView == null || listView.getChildCount() == 0) ?
0 : expandableListview.getChildAt(0).getTop();
refresh.setEnabled((topRowVerticalPosition >= 0));
}
});
https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
Według Android docs
na powyższy link,
Układ ten powinien być nadrzędny zdania, że zostanie odświeżona w wyniku gestu i obsługuje tylko jedno bezpośrednie dziecko.
Jeśli ListView
jest 1 bezpośrednim dzieckiem SwipeRefreshLayout
, odświeżanie nie będą uruchamiane przed przewijanie wstecz do góry ListView
. Nie musisz nic robić w onScroll()
.
Tt jest jedynym dzieckiem w widoku. Powyższe rozwiązanie zadziałało jednak dla mnie. – VirtualProdigy
- 1. Android ProgressBar w stylu widoku postępu w SwipeRefreshLayout
- 2. SwipeRefreshLayout w AppBarLayout nie pakuje treści
- 3. Nie można programowo przewinąć do ostatniego elementu w JList
- 4. Nie można przewinąć UITableView na dole
- 5. SwiperefreshLayout w Androidzie
- 6. Jak zwiększyć rozmiar widoku w widoku listy?
- 7. SwipeRefreshLayout nie pokazuje poziomego postępu
- 8. Nakładka widok w widoku listy?
- 9. Czy można włączyć płynne przewijanie w widoku listy WPF?
- 10. NativeScript - tablica w widoku listy
- 11. Android: nie można odświeżyć widoku listy przy użyciu CustomAdaptera
- 12. Wyświetlanie listy w widoku MVC
- 13. przewijanie w widoku listy z inną wysokością komórki
- 14. Nie można zaktualizować widoku?
- 15. SwipeRefreshLayout inside ViewPager
- 16. Nie można renderować widoku w strukturze TinyWeb
- 17. Przycisk w rozszerzalnym widoku listy Android
- 18. Jak wyłączyć przeskalowanie i odbicie w widoku listy Android?
- 19. Jak zrobić element w widoku listy, którego nie można kliknąć w Androidzie
- 20. Android SwipeRefreshLayout z pustym TextView nie działa poprawnie
- 21. Szuflada nawigacji: dodaj nagłówki w widoku listy
- 22. przekazywanie danych z widoku listy do widoku szczegółowego w angular.js
- 23. Obserwator Androida nie aktualizuje obiektu w widoku listy
- 24. Swipeleft do usunięcia nie działa w widoku listy rozszerzalnej wysokości
- 25. CListCtrl Pionowy pasek przewijania w widoku listy
- 26. Jak umieścić Edytowalny editekst w widoku listy?
- 27. Jak utrzymać stan ViewPagera w widoku listy?
- 28. Baza danych Androida w rozszerzalnym widoku listy
- 29. Co oznacza Managed = "0" w widoku listy?
- 30. Jak otoczyć zawartość w widoku listy WPF?
Dzięki nowemu programistowi Androida powyższy fragment rozwiązał problem !!! –
Dzięki, mam ten sam problem z Api 10 ... jego nie w nowszym Apisie. Wydaje się być błędem – Mate
To samo rozwiązanie, nieco łatwiejsze do odczytania tutaj na końcu postu: https://yassirh.com/2014/05/how-to-use-swiperefreshlayout-the-right-way/ –