简单的实现下拉刷新 SwipeRefreshLayout
来源:互联网 发布:广州网络维护 编辑:程序博客网 时间:2024/06/06 03:46
主要有以下方法
- setColorSchemeResources:设置刷新循环显示的颜色
- setRefreshing :设置刷新是否可用
- setOnRefreshListener :实现刷新监听器,里面为刷新时实现的代码(在这里我新添加了两项,并且调用adapter 的notifyDataSetChanged方法对listView进行更新,调用handler的postDelayed方法设置延迟三秒发送停止刷新)
- mSwipeLayout.setProgressBackgroundColor(): 设定下拉圆圈的背景
- mSwipeLayout.setSize(): 设置圆圈的大小
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/swipe_swipe"> <ListView android:id="@+id/swipe_listView" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView> </android.support.v4.widget.SwipeRefreshLayout>主页面的代码Activity
public class SwipeActivity extends AppCompatActivity { private SwipeRefreshLayout mSwipe; private ListView mListView; private List<String> mDatas; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_swipe); mSwipe= (SwipeRefreshLayout) findViewById(R.id.swipe_swipe); mListView= (ListView) findViewById(R.id.swipe_listView); initData(); final ArrayAdapter<String> mAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mDatas); mListView.setAdapter(mAdapter); mSwipe.setColorSchemeResources(android.R.color.holo_blue_bright ,android.R.color.holo_green_light ,android.R.color.holo_orange_light ,android.R.color.holo_red_light); mSwipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { mDatas.add("IIIIII"); mDatas.add("JJJJJJ"); mAdapter.notifyDataSetChanged(); mSwipe.setRefreshing(false); } },3000); } }); } public void initData(){ mDatas=new ArrayList<>(); mDatas.add("AAAAAA"); mDatas.add("BBBBBB"); mDatas.add("CCCCCC"); mDatas.add("DDDDDD"); mDatas.add("EEEEEE"); mDatas.add("FFFFFF"); mDatas.add("GGGGGG"); mDatas.add("HHHHHH"); }}
============================================================================
下面就对应第二种 结合recycleview实现
对应的主布局
<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe" android:layout_width="wrap_content" android:layout_height="wrap_content"> <android.support.v7.widget.RecyclerView android:id="@+id/recycleview" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView></android.support.v4.widget.SwipeRefreshLayout>
下面是主的Activity
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener { SwipeRefreshLayout swipeRefreshLayout;//定义该控件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); swipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.swipe); //初始化 findByid找到 swipeRefreshLayout.setOnRefreshListener(this); //定义它刷新的事件 //进行判断 什么时候停止 该方法必须写在 请求数据成功以后 得到数据在下面写这个方法 if (swipeRefreshLayout.isRefreshing()){ swipeRefreshLayout.setRefreshing(false); } } // Activity实现 (implements)实现 SwipeRefreshLayout.OnRefreshListener 对应返回的方法在里面写上你的解析的数据 @Override public void onRefresh() { userpresenter.getUser(Api.HOME_URL); //解析的数据 }}
//详细进去:http://blog.csdn.net/qq_39085422/article/details/78319253
阅读全文
0 0
- 简单的实现下拉刷新 SwipeRefreshLayout
- SwipeRefreshLayout实现下拉刷新
- SwipeRefreshLayout 实现下拉刷新
- SwipeRefreshLayout实现下拉刷新
- SwipeRefreshLayout实现下拉刷新
- SwipeRefreshLayout实现下拉刷新
- SwipeRefreshLayout实现下拉刷新
- 简单的下拉刷新以及优化--SwipeRefreshLayout
- 最简单的SwipeRefreshLayout下拉刷新
- SwipeRefreshLayout极其简单的下拉刷新工具
- Google官方 下拉刷新组件SwipeRefreshLayout 简单实现
- 超简单!原生SwipeRefreshLayout实现首页下拉刷新
- android SwipeRefreshLayout下拉刷新实现
- RecycleView + SwipeRefreshLayout 实现下拉刷新
- SwipeRefreshLayout+RecyclerView实现下拉刷新
- SwipeRefreshLayout实现下拉刷新(简洁)
- Android SwipeRefreshLayout 实现下拉刷新
- 使用SwipeRefreshLayout实现下拉刷新
- 【Scikit-Learn 中文文档】概率校准
- Pycharm2017破解补丁使用方法
- Android Studio3.0 build.gradle 中 implementation和api的理解
- dedecms织梦会员中心分类管理无法修改分类名
- Java web项目01 停车管理项目用户界面上传图片(二)
- 简单的实现下拉刷新 SwipeRefreshLayout
- JQ——日历(jq-ui)
- websocket的应用场景
- 微信小程序
- jQuery第三节---jQuery效果
- ubuntu16.04 安装matlab2016b教程
- Effective C++ — 条款49:了解new-handler的行为
- CentOS Linux搭建SVN Server配置详解
- 打印九九乘法表