廈門海關(guān)貿(mào)易通APP新聞滑動tab下拉刷新bug解決

在廈門海關(guān)貿(mào)易貿(mào)易通APP一期接近收尾階段,發(fā)現(xiàn)一個bug:滑動tab下拉刷新頁面,當新聞listView滑下來時,再往下滑,無法上滑,而是直接刷新的bug,如下圖。

創(chuàng)新互聯(lián)是一家專業(yè)提供大關(guān)企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站設計、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設H5開發(fā)、小程序制作等業(yè)務。10年已為大關(guān)眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設公司優(yōu)惠進行中。

廈門海關(guān)貿(mào)易通APP新聞滑動tab下拉刷新bug解決

解決:

  1. 在adapter、activity、fragment三個文件多處打log后將問題鎖定在

ViewPagerFragment 中的checkCanDoRefresh()的最后return返回值始終為true。廈門海關(guān)貿(mào)易通APP新聞滑動tab下拉刷新bug解決針對性打log發(fā)現(xiàn)getFirstVIsiblposition和getChildAt(0).getTop(),這個兩個值始終為0,估計是某個事件攔截了ListView的這兩個屬性。

2. 于是在initView中監(jiān)聽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。

文章標題:廈門海關(guān)貿(mào)易通APP新聞滑動tab下拉刷新bug解決
轉(zhuǎn)載來于:http://bm7419.com/article36/psdspg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機品牌網(wǎng)站建設、小程序開發(fā)營銷型網(wǎng)站建設、做網(wǎng)站響應式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名