学习google最新下拉刷新控件SwipeRefreshLayout
来源:互联网 发布:ios降级会清除数据吗 编辑:程序博客网 时间:2024/04/18 23:32
(通过SwipeRefreshLayout实现ListView下拉刷新上拉加载数据)
今天偶然地看到了google下拉刷新控件SwipeRefreshLayout,于是乎想去了解下,在使用之前请先打开SDK Manager.exe管理程序更新Android Support Library(android.support.v4.jar)到19.1
说到下拉刷新我想大家都会想到ActionBarPullToRefresh开源项目。不过现在Google官方也发布下拉刷新控件SwipeRefreshLayout。个人觉得可以学习。
SwipeRefreshLayout官方文档网址:http://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html。其中有针对本下拉刷新控件详细的说明。重点的是要实现内部接口SwipeRefreshLayout.OnRefreshListener。
简单的Demo如下:
layout:
code:<span style="font-size: 18px;">public class MainActivity extends Activity implements OnRefreshListener, OnScrollListener {private SwipeRefreshLayoutmRefreshLayout;private ListViewmListview;private ViewfootView;private ArrayAdapter<string>mArrayAdapter;private List<string>mListBeans= new ArrayList<string>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main_view);initViews();initParams();initListeners();}private void initViews() {mRefreshLayout = (SwipeRefreshLayout) this.findViewById(R.id.swipe_container);mListview = (ListView) this.findViewById(R.id.listview);footView = View.inflate(this, R.layout.footer_view, null);}private void initParams() {mRefreshLayout.setColorScheme(R.color.holo_blue_bright, R.color.holo_green_light, R.color.holo_orange_light, R.color.holo_red_light);mListBeans.addAll(getData("Layout"));mArrayAdapter = new ArrayAdapter<string>(this, android.R.layout.simple_list_item_1, mListBeans);mListview.addFooterView(footView);mListview.setAdapter(mArrayAdapter);}private void initListeners() {mRefreshLayout.setOnRefreshListener(this);mListview.setOnScrollListener(this);}@Overridepublic void onRefresh() {new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {@Overridepublic void run() {mRefreshLayout.setRefreshing(false);mListBeans.clear();mListBeans.addAll(getData("onRefresh"));mArrayAdapter.notifyDataSetChanged();}}, 1500);}@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {}@Overridepublic void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {if (firstVisibleItem + visibleItemCount >= totalItemCount) {new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {@Overridepublic void run() {mListBeans.addAll(getData("onScroll"));mArrayAdapter.notifyDataSetChanged();}}, 3000);}}//加载数据private List<string> getData(String type) {List<string> lists = new ArrayList<string>();for (int i = 0; i < 10; i++) {lists.add(type + "->Item->" + (i + 1));}return lists;}}</string></string></string></string></string></string></string></span>
0 0
- 学习google最新下拉刷新控件SwipeRefreshLayout
- Google 下拉刷新控件SwipeRefreshLayout
- Google下拉刷新控件SwipeRefreshLayout
- Google support4 下拉刷新控件 SwipeRefreshLayout
- google官方的下拉刷新控件SwipeRefreshLayout
- Google原生下拉刷新控件 SwipeRefreshLayout
- 下拉刷新控件SwipeRefreshLayout
- SwipeRefreshLayout下拉刷新控件
- SwipeRefreshLayout-下拉刷新控件
- 下拉刷新控件---SwipeRefreshLayout
- 下拉刷新控件SwipeRefreshLayout
- Google官方版下拉刷新控件SwipeRefreshLayout解析
- Android 下拉刷新控件 SwipeRefreshLayout
- Android 下拉刷新控件SwipeRefreshLayout
- 新下拉刷新控件:SwipeRefreshLayout
- Android 下拉刷新控件SwipeRefreshLayout
- android 控件 下拉刷新 SwipeRefreshLayout
- Android 下拉刷新控件SwipeRefreshLayout
- 最短路径问题
- 复制构造函数
- seo优化
- sql基础操作
- 比你优秀的人比你更努力
- 学习google最新下拉刷新控件SwipeRefreshLayout
- PAT 1019. 数字黑洞
- 37.很多人
- java.lang.UnsatisfiedLinkError: could not load needed library 'library' : link_image[1963]:
- What Makes Node.js Faster Than Java?
- 蓝桥杯——基础练习之字母图形
- 动手学Android之十——异步任务
- Data Manipulation with R(Phil Spector) 阅读摘要
- GetProcAddress()失败 GetLastError() 127