SwipeRefreshLayout自动刷新实现
2016-06-02 14:31
274 查看
import android.annotation.TargetApi; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.ViewTreeObserver; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements ViewTreeObserver.OnGlobalLayoutListener { private SwipeRefreshLayout mSwipeRefreshLayout; private Handler mHandler = new Handler(); private final Runnable mRefreshDone = new Runnable() { @Override public void run() { mSwipeRefreshLayout.setRefreshing(false); Toast.makeText(MainActivity.this, "刷新结束", Toast.LENGTH_SHORT).show(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.referesh); mSwipeRefreshLayout.setColorSchemeResources(R.color.color1, R.color.color2, R.color.color3, R.color.color4); mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { Toast.makeText(MainActivity.this, "开始刷新", Toast.LENGTH_SHORT).show(); mHandler.removeCallbacks(mRefreshDone); mHandler.postDelayed(mRefreshDone, 5000); } }); mSwipeRefreshLayout.getViewTreeObserver().addOnGlobalLayoutListener(this); } @TargetApi(16) @Override public void onGlobalLayout() { Log.i("fff", "--------onGlobalLayout--------"); mSwipeRefreshLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this); mSwipeRefreshLayout.setRefreshing(true); Toast.makeText(MainActivity.this, "开始刷新", Toast.LENGTH_SHORT).show(); mHandler.removeCallbacks(mRefreshDone); mHandler.postDelayed(mRefreshDone, 5000); } }
相关文章推荐
- DelegatingFilterProxy管理过滤器详解
- CentOS Linux下 redis 下载、安装、配置、主从集群配置
- 电脑卡,eclipse Android stadio 卡,什么都卡解决方法
- android图形系统详解
- VS2013 用正则表达式统计代码行数
- 最新版Android NDK开发环境搭建以及第一个Android NDK程序(在eclipse中演示)(超简单实用)
- ThinkPHP foreach标签
- 操作系统文件系统设计实验报告
- ORACLE RAC 的启动和关闭顺序
- Android6.0 wakelock深入分析
- 平面物体碰撞检测
- 页面分页
- 浏览器弹出窗口被拦截解决办法
- NRPE: Unable to read output 问题处理总结
- Java DecimalFormat的主要功能及使用方法
- 小范围排序(C++)
- 无线宽带和有线宽带、光纤宽带有什么不同?
- SDUT 3258 Square Number(2015年山东省第六届ACM大学生程序设计竞赛)
- spring mvc:resources 不支持POST,只支持GET , mvc:resources使用
- Android开发者指南-运动传感器Motion Sensor[原创译文]