您好,登录后才能下订单哦!
在厦门海关贸易贸易通APP一期接近收尾阶段,发现一个bug:滑动tab下拉刷新页面,当新闻listView滑下来时,再往下滑,无法上滑,而是直接刷新的bug,如下图。
解决:
在adapter、activity、fragment三个文件多处打log后将问题锁定在
ViewPagerFragment 中的checkCanDoRefresh()的最后return返回值始终为true。针对性打log发现getFirstVIsiblposition和getChildAt(0).getTop(),这个两个值始终为0,估计是某个事件拦截了ListView的这两个属性。
2. 于是在initView中监听mListView的滚动事件
mListView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
//Log.e("ViewPagerFragment_scrollStateChanged", "scrollState:"+scrollState);
Log.e("ViewPagerFragment_scrollStateChanged", "mListView.getChildAt(0).getTop():"+mListView.getChildAt(0).getTop());
getTop=mListView.getChildAt(0).getTop();
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
mfirstVisibleItem=firstVisibleItem;
然后用成员×××变量mfirstVisibleItem、getTop,代替getFirstVIsiblposition和getChildAt(0).getTop(),问题解决。
该滑动下拉刷新tab原型参考我博客中100+Android 开源项目分类汇总一(精品 )第三个开源项目android-Ultra-Pull-to-Refresh。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。