API doc:

Google在support v4 19.1版本推出了一个下拉刷新组件SwipeRefreshLayout,使用起来方便,效果优美,但要注意的是其布局中只能有一个直接子布局。使用步骤如下:

1.在xml中,加载android.support.v4.widget.SwipeRefreshLayout

 

        

2.使用

 

package com.example.testswiperefreshlayout;import android.os.Bundle;import android.os.Handler;import android.annotation.SuppressLint;import android.app.Activity;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;public class MainActivity extends Activity implements OnRefreshListener {	private SwipeRefreshLayout mSwipeRefreshLayout;	private ListView mList;	@SuppressLint("InlinedApi")	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		mList = (ListView) findViewById(R.id.list);		mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.layout_containter);		mSwipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_light,				android.R.color.holo_green_light,				android.R.color.holo_orange_light,				android.R.color.holo_red_light);		mSwipeRefreshLayout.setOnRefreshListener(this);			}	@Override	public void onRefresh() {		new Handler().postDelayed(new Runnable() {						@Override			public void run() {				mSwipeRefreshLayout.setRefreshing(false);				mList.setAdapter(new MyAdapter());			}		}, 5000);	}		class MyAdapter extends BaseAdapter {		@Override		public int getCount() {			return 10;		}		@Override		public Object getItem(int position) {			// TODO Auto-generated method stub			return null;		}		@Override		public long getItemId(int position) {			// TODO Auto-generated method stub			return 0;		}		@Override		public View getView(int position, View convertView, ViewGroup parent) {			View inflate = null;			TextView tvItem = null;			if (convertView == null) {				inflate = getLayoutInflater().inflate(R.layout.listview_item, null);				tvItem = (TextView) inflate.findViewById(R.id.tv_item);				inflate.setTag(tvItem);			} else {				inflate = convertView;				tvItem = (TextView) inflate.getTag();			}			tvItem.setText("下拉刷新item"+position);			return inflate;		}			}}

 

 

×××地址: