厦门海关贸易通APP新闻滑动tab下拉刷新bug解决

在厦门海关贸易贸易通APP一期接近收尾阶段,发现一个bug:滑动tab下拉刷新页面,当新闻listView滑下来时,再往下滑,无法上滑,而是直接刷新的bug,如下图。

wKiom1XlXtSCNXLRAAG2qSSIVg0202.jpg


解决:


  1. 在adapter、activity、fragment三个文件多处打log后将问题锁定在

ViewPagerFragment 中的checkCanDoRefresh()的最后return返回值始终为true。wKiom1XlX_bCYSqLAAR3AcqapeA064.jpg针对性打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。

你可能感兴趣的:( )