成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

android - viewPager滑動瀏覽一組大圖,滑動倒數第二張時請求新數據追加數據……

瀏覽:190日期:2024-08-19 10:09:10

問題描述

在listView中點擊例如“美女圖片”后打開一個largeActivity;

largeActivity中有一個viewPager實現左右滑動瀏覽大圖;

在largeActivity打開的時候會通過okHttp從服務器請求一組5張圖片鏈接,圖片通過glide加載在viewPager中實現左右滑動瀏覽;

因為每次網絡請求只能返回5張圖片鏈接,所以我在監聽每次滑動viewPager的時候判斷當前 postion小于存儲圖片鏈接的imageList.size() -1的時候,也就是每次滑動到倒數第二張的時候去網絡請求下一組圖片的鏈接;

然后通過add將新請求到的圖片鏈接添加進imageList,然后再執行一次pagerAdapter.notifyDataSetChanged()來實現viewPager繼續滑動瀏覽新請求到的圖片。

現在問題是如果用戶以正常速度滑動viewPager來瀏覽每張圖片的時候是沒有任何問題的,但是如果用戶飛速滑動viewPager的進行瀏覽的時候就會出現在某一次請求新數據后就會出現APP崩潰的情況;錯誤信息在兩部不同的手機上報錯不一樣,但是都是在相同的情況下崩潰。Google遍都沒有找到解決辦法

華為榮耀報錯如下:

android - viewPager滑動瀏覽一組大圖,滑動倒數第二張時請求新數據追加數據……

通過華為手機的報錯在網上找到通過設置 android:hardwareAccelerated='false'來關閉硬件加速的辦法,但是通過測試在快速滑動時還是會導致APP崩潰自動重啟的情況

樂視max2報錯如下:

03-21 05:42:44.071 18730-18730/com.abcd.reader.abcdreader E/InputEventReceiver: Exception dispatching input event.03-21 05:42:44.071 18730-18730/com.abcd.reader.abcdreader E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback03-21 05:42:44.084 18730-18730/com.abcd.reader.abcdreader E/MessageQueue-JNI: java.lang.IllegalStateException: The application’s PagerAdapter changed the adapter’s contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 25, found: 30 Pager id: com.abcd.reader.abcdreader:id/vp_pager Pager class: class android.support.v4.view.ViewPager Problematic adapter: class com.abcd.reader.abcdreader.adapter.FollowDetailViewPagerAdapter

通過樂視手機的報錯懷疑是當新請求的數據add進imageList后,但是還沒來得及執行notifyDataSetChanged,剛好在這時用戶在滑動viewPager的時候導致的;為了驗證猜測我修改了在當前 postion小于存儲圖片鏈接的imageList.size() -2的時候,也就是每次滑動到倒數第三張的時候去網絡請求下一組圖片的鏈接;給imageList.add和notifyDataSetChanged預留了充分的執行時間,這時候再次測試問題消失,華為手機和樂視手機均沒有再出現APP崩潰重啟的情況

但是我這個服務器請求回來的數據是不固定的,有時候可能每次返回5條,有時候10條,有時候只有1條,所以我現在的解決辦法并不能徹底解決煩請老師們給予指點一二,萬分感謝!

問題解答

回答1:

大膽估計一下應該是線程安全問題,可以嘗試一下以下修改,獲取新數據時,使用post方法去做更新,即viewPager.post(),notifyDataSetChanged放到post任務里去。還沒親自驗證,如果不可以,也麻煩你告訴我一聲,我再看看。

回答2:

具體錯誤原因我暫時無法幫你定位,我給你另一個實現的思路,可以嘗試使用RecycleView來實現同樣的效果。

回答3:

不知道是不是我理解錯了,但images.size()-1不是倒數第二張,而是最后一張

建議把從服務器拉取條目的邏輯寫到Adapter的getItem;

@Overridepublic Fragment getItem(int position) { if(getCount()-1 == position){//在此處拉取 } return ArrayListFragment.newInstance(position);}回答4:

策略就錯了,每次只返回5個image的url是為什么?難道是為了節省流量嗎?最大的浪費是三次握手的創建過程,上來就應該拿到所有的url,然后自己控制圖片緩存。你每次到倒數第二張再去請求,也不怕麻煩.....

回答5:

看問題,題主是在viewpager滑動監聽的方法里面做網絡請求,如果使用者快速左右滑動viewpager,很可能多次執行該回調。而之前的網絡請求還在進行中,再次請求也就崩潰了。如果是這個原因造成的話,你可以增加一個標記,如果當前請求正在進行中,在沒有得到正確或錯誤的回調前,不再進行新的網絡請求。至于返回不條目數不固定的問題,如果你請求5張圖片,服務器只返回3張,說明服務器圖片已經全給你了,你的網絡請求也就不要執行了

成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
精品一区二区三区免费观看| 欧美日韩二区三区| 91黄色免费观看| 亚洲主播在线观看| 极品av少妇一区二区| 欧美激情一区二区三区四区| www.亚洲色图| 久久久亚洲国产美女国产盗摄| 国产一区二区三区精品视频| 在线亚洲高清视频| 午夜精品久久久久久久| 国产欧美亚洲日本| 亚洲一区二区三区视频在线播放| 国产欧美一级| 亚洲欧美一区二区三区国产精品 | 精品一区二区在线免费观看| 久久精品观看| 蜜臀av一级做a爰片久久| 91久久人澡人人添人人爽欧美| 男女激情视频一区| 欧美视频一区二区三区四区| 六月丁香综合在线视频| 欧美日韩高清一区二区三区| 国产传媒一区在线| 久久亚洲精华国产精华液| 欧美一区二区三区四区在线观看地址 | 国产精品日本一区二区| 亚洲日本成人在线观看| 国产日韩欧美| 日韩电影在线观看电影| 欧美怡红院视频| 国产一区二区三区美女| 日韩亚洲欧美在线| 欧美在线黄色| 亚洲卡通欧美制服中文| 香港久久久电影| 老鸭窝一区二区久久精品| 欧美一区二区视频观看视频| 欧美一区2区三区4区公司二百| 久久网这里都是精品| 亚洲大片av| 亚洲va韩国va欧美va| 欧美日韩一区三区| 成人免费视频一区二区| 国产精品拍天天在线| 国产精品最新自拍| 久久99久久久久| 日韩免费高清视频| 欧美日本一区二区视频在线观看 | 99在线精品观看| 国产精品国产自产拍高清av王其| 国产婷婷精品| 老司机精品视频导航| 精品国产乱码久久久久久免费 | 国产精品不卡一区二区三区| 亚洲综合激情| 激情五月激情综合网| 日韩一区二区在线观看| 欧美日韩一区二区三区免费| 亚洲电影你懂得| 91精品在线免费| 国内综合精品午夜久久资源| 午夜精品视频在线观看| 欧美一区二区三区小说| 国语精品一区| 日韩激情一区二区| 日韩美女视频在线| 99riav国产精品| 国产在线一区二区综合免费视频| 国产色综合一区| 一本一道久久a久久精品综合蜜臀| 懂色av中文一区二区三区| 国产精品大尺度| 在线观看区一区二| 欧美高清一区| 日韩精品一二区| 久久中文娱乐网| 西西人体一区二区| av不卡在线播放| 午夜精品国产更新| 精品sm在线观看| 亚洲午夜精品一区二区| 久久99国产乱子伦精品免费| 中文一区二区在线观看| 欧美午夜在线观看| 欧美日韩一区自拍| 精品一区二区免费在线观看| 国产人伦精品一区二区| 在线观看网站黄不卡| 午夜激情一区| 男人的j进女人的j一区| 国产精品免费视频网站| 欧美日本一区二区三区四区| 亚洲视频高清| 国产精品69久久久久水密桃| 伊人色综合久久天天人手人婷| 91精品国产一区二区三区| 99精品99| 成人av网站免费| 午夜av一区二区三区| 久久久久久久久一| 欧美午夜寂寞影院| 日韩亚洲欧美精品| 粉嫩高潮美女一区二区三区 | 蜜臀av国产精品久久久久 | 亚洲天堂a在线| 91精品国产综合久久婷婷香蕉| 一区二区三区四区国产| 不卡av免费在线观看| 日韩成人免费在线| 国产精品激情偷乱一区二区∴| 欧美一区二区国产| 久久久久高清| 欧美xxx在线观看| 精品一区二区成人精品| 亚洲女性喷水在线观看一区| 日韩欧美一卡二卡| 91成人国产精品| 亚洲乱码久久| 欧美成人午夜| 国产精品综合av一区二区国产馆| 亚洲线精品一区二区三区八戒| 国产嫩草影院久久久久| 欧美久久免费观看| 美女黄网久久| 亚洲午夜视频| 91蜜桃视频在线| 国产成人小视频| 日韩精品欧美精品| 亚洲情趣在线观看| 欧美精品九九99久久| 久久久久久色| 亚洲乱亚洲高清| 国产精品v欧美精品v日韩精品| 国产成人综合网| 久久成人综合网| 日韩精品一级二级 | 蜜乳av一区二区| 亚洲一区二区三区精品在线| 国产日韩欧美高清| 日韩精品一区二区三区四区 | 中文字幕av一区二区三区| 精品国产百合女同互慰| 欧美人与禽zozo性伦| 免费毛片一区二区三区久久久| 在线精品一区二区| 午夜久久资源| 91捆绑美女网站| caoporm超碰国产精品| 久久精品国产网站| 美女爽到高潮91| 日韩电影一区二区三区| 亚洲国产视频一区二区| 一区二区欧美国产| 亚洲素人一区二区| 亚洲色欲色欲www| 最好看的中文字幕久久| 欧美国产精品久久| 国产精品女同一区二区三区| 国产日韩精品一区二区三区在线| 久久综合久久综合久久综合| 久久综合久久久久88| 欧美精品一区二区三区久久久 | 在线观看区一区二| 91成人在线精品| 欧洲一区二区三区在线| 91国产精品成人| 在线精品视频免费观看| 在线观看日韩国产| 在线观看精品一区| 欧美性大战久久| 欧美午夜精品一区二区三区 | 一卡二卡欧美日韩| 国产精品理伦片| 国产欧美一区二区精品性色 | 亚洲黄色免费网站| 亚洲一区二区五区| 亚洲国产成人av网| 亚洲成av人片www| 免费人成网站在线观看欧美高清| 麻豆极品一区二区三区| 国产在线不卡视频| 国产不卡视频在线播放| 成人久久久精品乱码一区二区三区 | 国产精品素人视频| 一区精品在线播放| 亚洲欧洲制服丝袜| 亚洲一区二区影院| 日韩成人免费电影| 国产一区二区三区免费看 | 欧美精品v日韩精品v国产精品| 成人激情电影免费在线观看| 97精品久久久久中文字幕| 色婷婷av一区二区三区软件| 亚洲精品看片| 亚洲午夜激情| 韩国在线一区二区| 中文字幕中文字幕一区| 国产午夜精品一区二区| 亚洲欧洲性图库|