2011-12-27 17 views
16

Estoy intentando implementar "pull to refresh" en un ListFragment pero en este momento ninguna de las bibliotecas drop-in parece apoyarlo. No hay forma de detectar el desplazamiento en el fragmento de la lista que puedo ver, así que me pregunto si alguien ha encontrado un medio para hacerlo funcionar.Cómo implementar pull para actualizar en un ListFragment

-

Utilizando la punta de Christian He utilizado el siguiente método para mi 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; 
} 

Me gusta Christian dijo que solo puedes hacer esto con un Fragmento. Devuelve cualquier cosa que no sea un ListView en un error ListFragment.

EDIT: Para aclarar estoy usando Johan's PullToRefresh library

Respuesta

10

De hecho, me hacer que funcione el uso de fragmentos (no ListFragment). Por lo tanto, básicamente es lo mismo, simplemente devuelva PullToRefreshListView desde su método onCreateView y listo. También debería funcionar con ListFragment; recuerde que debe devolver un ListView de onCreateView si usa ListFragment (puede devolver lo que desee si solo usa Fragment).

+0

Entonces, ¿podría el posible usar mi método? –

+0

Sí. Claro ... Agregué otra respuesta solo porque no tomaste en cuenta que está trabajando con Fragmentos, así que las cosas cambian un poco allí. Además, parece saber que hay bibliotecas de terceros para hacerlo ... por lo que quizás ya sepa sobre la que sugirió. – Cristian

+0

Veo a dónde vas con esto. Lo he intentado pero a Eclipse no le gusta configurar un adaptador de lista a un viejo fragmento simple. hay un remedio para esto? – George

3

Aquí es un componente que Johan ha creado que añade un tire hacia abajo para refrescar función ..

Pull-To-Refresh

lógica principal se implementa en PullToRefreshListView que extiende ListView.

n sus diseños, simplemente agréguelos de esta forma.

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

Tengo entendido que el código de Johan actualmente no es compatible con las implementaciones de listFragment. Ver [aquí] (https://github.com/johannilsson/android-pulltorefresh/issues/30) – George

Cuestiones relacionadas