您好,登錄后才能下訂單哦!
在廈門海關貿易貿易通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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。