package com.tutosandroidfrance.swiperefreshlayoutsample;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends ActionBarActivity implements SwipeRefreshLayout.OnRefreshListener {
List<String> strings = new ArrayList<String>();
ListView mListView;
SwipeRefreshLayout mSwipeRefreshLayout;
ArrayAdapter<String> mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView = (ListView) findViewById(R.id.listView);
mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
mSwipeRefreshLayout.setOnRefreshListener(this);
for(int i=0;i<20;++i)
strings.add("Element "+i);
mAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, strings);
mListView.setAdapter(mAdapter);
}
@Override
public void onRefresh() {
//appellé lors de l'action PullToRefresh
mSwipeRefreshLayout.postDelayed(new Runnable() {
@Override
public void run() {
//appellé après 2000 ms
//vide la liste
strings.clear();
//puis ajoute les nouveaux elements
for(int i=0;i<20;++i)
strings.add("NouvelElement "+i);
//annonce à l'adapter que les données ont changés
mAdapter.notifyDataSetChanged();
//avertie le SwipeRefreshLayout que la mise à jour a été effectuée
mSwipeRefreshLayout.setRefreshing(false);
}
},2000);
}
}