2011-12-27 23 views
16

Próbuję implementacji "pull to refresh" na ListFragment, ale w tej chwili żaden z dropów bibliotek nie obsługuje tego. 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?Jak zaimplementować pull do odświeżenia na ListFragment

-

Korzystanie końcówkę chrześcijanina I stosuje się następującą metodę dla mojego 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; 
} 

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

EDIT: Aby wyjaśnić Używam Johan's PullToRefresh library

Odpowiedz

10

Rzeczywiście sprawiają, że działa przy użyciu fragmentów (nie ListFragment). Więc w zasadzie to samo, po prostu zwróć PullToRefreshListView ze swojej metody onCreateView i to wszystko. Powinno również działać z ListFragment; pamiętaj, że musisz zwrócić ListView z onCreateView, jeśli używasz ListFragment (możesz zwrócić wszystko, co chcesz, jeśli używasz tylko Fragment).

+0

Więc czy mógłby skorzystać z mojej metody? –

+0

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

+0

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

3

Tutaj jest komponentem, który stworzył, że Johan dodaje ciągnąć w dół, aby odświeżyć funkcji ..

Pull-To-Refresh

główna logika jest realizowany w PullToRefreshListView która rozszerza ListView.

n twoich układów po prostu dodaj go w ten sposób.

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

Rozumiem, że kod Johana nie obsługuje obecnie implementacji listFragment. Zobacz [tutaj] (https://github.com/johannilsson/android-pulltorefresh/issues/30) – George

Powiązane problemy