swiprefreshlayout主动显示小圆圈
2016-07-21 09:36
573 查看
首先找到布局里的swipfreshlayout对象。之后利用java中的反射原理,先获取mCircleView让其设置可见,之后获取setrefreshing方法,调用invoke方法进行调用。
代码如下:
public void autoRefresh(){
try {
Field mCircleView = SwipeRefreshLayout.class.getDeclaredField("mCircleView");
mCircleView.setAccessible(true);
View loadingview = (View) mCircleView.get(myRefreshLayout);
loadingview.setVisibility(View.VISIBLE);
Method setRefresh = SwipeRefreshLayout.class.getDeclaredMethod("setRefreshing",boolean.class,boolean.class);
setRefresh.setAccessible(true);
setRefresh.invoke(myRefreshLayout,true,true);
} catch (Exception e) {
e.printStackTrace();
}
}
其中SwipeRefreshLayout.class.getDeclaredField("mCircleView")是获取名为mcircleview的对象,setAccessible方法表示去除权限。之后我们可以对其修改。mCircleView.get(myRefreshLayout)获取那个小圆圈view,设置其为visible。之后获取setrefreshing方法,invoke进行调用。
代码如下:
public void autoRefresh(){
try {
Field mCircleView = SwipeRefreshLayout.class.getDeclaredField("mCircleView");
mCircleView.setAccessible(true);
View loadingview = (View) mCircleView.get(myRefreshLayout);
loadingview.setVisibility(View.VISIBLE);
Method setRefresh = SwipeRefreshLayout.class.getDeclaredMethod("setRefreshing",boolean.class,boolean.class);
setRefresh.setAccessible(true);
setRefresh.invoke(myRefreshLayout,true,true);
} catch (Exception e) {
e.printStackTrace();
}
}
其中SwipeRefreshLayout.class.getDeclaredField("mCircleView")是获取名为mcircleview的对象,setAccessible方法表示去除权限。之后我们可以对其修改。mCircleView.get(myRefreshLayout)获取那个小圆圈view,设置其为visible。之后获取setrefreshing方法,invoke进行调用。
这个有点小问题,更正的请见http://blog.csdn.net/qq_29654885/article/details/52033148
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法