Pytanie Jak zaimplementować pull do odświeżenia na ListFragment


Próbuję implementować "pull to refresh" na ListFragment, ale w tej chwili żadna z bibliotek nie wydaje się go wspierać. Nie ma sposobu, aby wykryć przeskalowanie fragmentu listy, który widzę, więc zastanawiam się, czy ktoś znalazł sposób, aby to zadziałało?

-

Korzystając z porady Christiana, użyłem następujących metod mojej metody onCreateView ().

@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
   PullToRefreshListView listView = new PullToRefreshListView(getActivity());
   mAdapter = new HomeTweetListAdapter(getActivity(), R.layout.tweet_list_item, tweets);
   listView.setAdapter(mAdapter);
   return listView;
}

Tak jak Christian powiedział, że możesz zrobić to tylko z Fragmentem. Zwracanie innych informacji niż ListView na błędach ListFragment.

EDYTOWAĆ: Aby wyjaśnić, czego używam Johan's PullToRefresh library


16
2017-12-27 18:38


pochodzenie




Odpowiedzi:


Faktycznie sprawiają, że działa z wykorzystaniem fragmentów (nie ListFragment). Więc w zasadzie to samo, po prostu zwróć PullToRefreshListView od twojego onCreateView metoda i to wszystko. Powinien także pracować z ListFragment; pamiętaj, że musisz zwrócić a ListView od onCreateView Jeśli użyjesz ListFragment (możesz zwrócić wszystko, co chcesz, jeśli używasz tylko Fragment).


10
2017-12-27 18:48



Czy mógł więc skorzystać z mojej metody? - coder_For_Life22
Tak. Pewnie ... Dodałem kolejną odpowiedź tylko dlatego, że nie wziąłeś pod uwagę, że pracuje on z Fragments, więc trochę się tam zmienia. Poza tym zdaje się wiedzieć, że istnieją biblioteki osób trzecich, aby to zrobić ... więc może już wiedzieć o tym, który zasugerowałeś. - Cristian
Widzę, dokąd zmierzasz. Próbowałem, ale Eclipse nie lubi ustawiania adaptera list na zwykły stary fragment. Czy istnieje na to lekarstwo? - George
Nieważne, wymyśliłeś to. Ustawiasz adapter podczas tworzenia PullToRefreshListView. Dzięki! - George
Zaktualizowano problem na githubie, github.com/johannilsson/android-pulltorefresh/issues/30 - Sebastian Roth


Oto komponent stworzony przez Johna, który dodaje funkcję "przeciągnij, aby odświeżyć".

Pociągnij aby odświeżyć

Główna logika jest realizowana w PullToRefreshListView, która rozszerza ListView.

W twoich układach po prostu dodaj to tak.

<com.markupartist.android.widget.PullToRefreshListView
android:id="@+id/android:list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>

3
2017-12-27 18:41



Rozumiem, że kod Johana nie obsługuje obecnie implementacji listFragment. Widzieć tutaj - George


Jest teraz w pełni udokumentowany, jak używać ActionBar-PullToRefresh razem z ListFragment:

https://github.com/chrisbanes/ActionBar-PullToRefresh/wiki/ListFragment

Mam nadzieję, że pomaga!


0
2018-03-17 14:15