2011-12-27 2 views
16

Sto provando l'implementazione "pull to refresh" su un ListFragment ma al momento nessuna delle librerie di rilascio sembra supportarla. Non c'è modo di rilevare l'overscroll sul frammento di lista che posso vedere, quindi mi chiedo se qualcuno abbia trovato un modo per farlo funzionare?Come implementare pull per aggiornare su un ListFragment

-

Utilizzando punta di Christian ho usato il seguente per il mio metodo 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; 
} 

come Christian ha detto che si può fare solo con un frammento. Restituisce qualcosa di diverso da una ListView su un ListFragment.

EDIT: Per chiarire che sto usando Johan's PullToRefresh library

risposta

10

Io in realtà farlo funzionare utilizzando frammenti (non ListFragment). Quindi è praticamente lo stesso, basta restituire il PullToRefreshListView dal tuo metodo onCreateView e il gioco è fatto. Dovrebbe funzionare anche con ListFragment; ricorda che devi restituire un ListView da onCreateView se usi ListFragment (puoi restituire quello che vuoi se usi solo Fragment).

+0

Quindi potrebbe usare il mio metodo? –

+0

Sì. Certo ... Ho aggiunto un'altra risposta solo perché non hai tenuto conto del fatto che sta lavorando con Fragments, quindi le cose cambiano un po 'lì. Inoltre, sembra sapere che ci sono biblioteche di terze parti per farlo ... quindi potrebbe già sapere di quello che hai suggerito. – Cristian

+0

Vedo dove stai andando con questo. L'ho provato, ma a Eclipse non piace impostare un list adapter su un semplice vecchio frammento. C'è un rimedio per questo? – George

3

Qui è un componente che ha creato Johan che aggiunge un tirare verso il basso per aggiornare caratteristica ..

Pull-To-Refresh

logica principale è implementato in PullToRefreshListView che estende ListView.

n i tuoi layout devi semplicemente aggiungerlo in questo modo.

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

È a mia conoscenza che il codice di Johan non supporta attualmente le implementazioni di listFragment. Vedi [qui] (https://github.com/johannilsson/android-pulltorefresh/issues/30) – George