swiprefreshlayout主动显示小圆圈

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29654885/article/details/51979574
首先找到布局里的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进行调用。

这个有点小问题,更正的请见http://blog.csdn.net/qq_29654885/article/details/52033148


猜你喜欢

转载自blog.csdn.net/qq_29654885/article/details/51979574