En primer lugar, debemos añadir la siguiente libreria a nuestro build.gradle
compile 'com.android.support:support-v4:21.0.+'
A continuación preparamos nuestra vista de la siguiente manera, dentro del tag SwipeRefreshLayout introduciremos nuestro ListView
ListView lv; SwipeRefreshLayout mSwipeRefreshLayout; Adapter mAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.activity_main_swipe_refresh_layout); lv = (ListView) findViewById(R.id.listView); ArrayListEn primer lugar, tal como se puede apreciar, se carga una lista inicial (la que se verá por primera vez), método obtenerItems(), aqui se puede llenar la array list que luego le pasaremos a la list con lo que queramos.itemsHoritzontals = obtenerItems(); ItemHoritzontalAdapter adapter = new ItemHoritzontalAdapter(this, itemsHoritzontals); lv.setAdapter(adapter); mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { refreshContent(); } }); } private void refreshContent(){ new Handler().postDelayed(new Runnable() { @Override public void run() { ArrayList itemsHoritzontals = new ArrayList (); itemsHoritzontals.add(new ItemHoritzontal("mofa", "drawable/whitebutton", "drawable/whitebutton")); itemsHoritzontals.add(new ItemHoritzontal("mofa", "drawable/whitebutton", "drawable/whitebutton")); itemsHoritzontals.add(new ItemHoritzontal("mofa", "drawable/whitebutton", "drawable/whitebutton")); itemsHoritzontals.add(new ItemHoritzontal("mofa", "drawable/whitebutton", "drawable/whitebutton")); itemsHoritzontals.add(new ItemHoritzontal("mofa", "drawable/whitebutton", "drawable/whitebutton")); ItemHoritzontalAdapter adapter = new ItemHoritzontalAdapter(ListViewActivity.this, itemsHoritzontals); lv.setAdapter(adapter); mSwipeRefreshLayout.setRefreshing(false); } },2000); }
A continuación se pone un listener a la variable mSwipeRefreshLayout que contendrá un método con el cual llamaremos a un handler que a su vez contiene un run encargado de refrescar nuestra lista con nuevos items, con la instrucción mSwipeRefreshLayout.setRefreshing(false); le decimos que nos desaparezca el icono de la flecha dando vueltas tan típico de este tipo de refrescos.
No hay comentarios:
Publicar un comentario