使用如下:
1.先下载android-support-v4.jar最新版本,之前的版本是没有SwipeRefreshLayout下拉刷新控件的,如果已经更新,此步骤可省略。
2.在xml文件中引用android.support.v4.widget.SwipeRefreshLayout控件,在里面可以放置任何一个控件,例如ListView,gridview等。
- <android.support.v4.widget.SwipeRefreshLayout
- android:id="@+id/swipe_refresh"
- android:layout_width="match_parent"
- android:layout_height="match_parent" >
-
- <ListView
- android:id="@+id/listview"
- android:layout_width="match_parent"
- android:layout_height="match_parent" >
- </ListView>
- </android.support.v4.widget.SwipeRefreshLayout>
3.在java文件中使用。
- /**
- * 主页
- * @author w.w
- */
- public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener {
-
- /**
- * 给ListView添加下拉刷新
- */
- private SwipeRefreshLayout swipeLayout;
-
- /**
- * ListView
- */
- private ListView listView;
-
- /**
- * ListView适配器
- */
- private ListViewAdapter adapter;
-
- private List<ItemInfo> infoList;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- swipeLayout = (SwipeRefreshLayout) this.findViewById(R.id.swipe_refresh);
- swipeLayout.setOnRefreshListener(this);
-
- // 顶部刷新的样式
- swipeLayout.setColorScheme(android.R.color.holo_red_light, android.R.color.holo_green_light,
- android.R.color.holo_blue_bright, android.R.color.holo_orange_light);
-
- infoList = new ArrayList<ItemInfo>();
- ItemInfo info = new ItemInfo();
- info.setName("coin");
- infoList.add(info);
- listView = (ListView) this.findViewById(R.id.listview);
- adapter = new ListViewAdapter(this, infoList);
- listView.setAdapter(adapter);
- }
-
- public void onRefresh() {
- new Handler().postDelayed(new Runnable() {
- public void run() {
- swipeLayout.setRefreshing(false);
- ItemInfo info = new ItemInfo();
- info.setName("coin-refresh");
- infoList.add(info);
- adapter.notifyDataSetChanged();
- }
- }, 500);
- }
- }
demo下载地址:http://download.csdn.net/detail/xue_wei_love/7135315
来源:http://blog.csdn.net/wwzqj/article/details/22790521