框架简介
android-PullToRefresh框架使用起来很简单,它支持下拉刷新也支持上拉加载。支持的控件包括:
ListView
ExpandableListView
GridView
WebView
ScrollView
HorizontalScrollView
ViewPager
代码实例:
先看效果图:
XML布局文件中:
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/pull_to_refresh_listview"
android:layout_height="fill_parent"
android:layout_width="fill_parent" />
Java文件中声明并使用
public class MainActivity extends Activity {
PullToRefreshListView pullToRefreshView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pullToRefreshView = (PullToRefreshListView) findViewById(R.id.pull_to_refresh_listview);
String[] arr = {"1","2","3","4","5"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, arr);
pullToRefreshView.setAdapter(adapter);
pullToRefreshView
.setOnRefreshListener(new OnRefreshListener<ListView>() {
@Override
public void onRefresh(
PullToRefreshBase<ListView> refreshView) {
// Do work to refresh the list here.
new GetDataTask().execute();
}
});
}
class GetDataTask extends AsyncTask<Void, Void, String[]> {
@Override
protected void onPostExecute(String[] result) {
pullToRefreshView.onRefreshComplete();//结束刷新
super.onPostExecute(result);
}
@Override
protected String[] doInBackground(Void... params) {
try {
Thread.sleep(2000);//控制刷新两秒
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。