? ? ? 最近項(xiàng)目里需要一個輪播圖蛙卤,去循環(huán)輪播三張廣告圖,一開始使用的是阿里開源的banner,很好用噩死,省去了一系列繁瑣的步驟,但是呢神年,最近改界面已维,新的UI設(shè)計(jì)師給出的輪播圖是底部指示器和圖片有一定的距離的,這就尷尬了已日,因?yàn)間ithub上能找打的viewpager輪播圖庫垛耳,基本上都是指示器和圖片重疊的 ,對于這種定制化的界面飘千,只能自己動手寫了堂鲜,想省事是不可能的了。
說做就做护奈,布局里使用V4包下的viewpager控件缔莲,創(chuàng)建適配器,這些大家都很熟悉霉旗,就不再一一贅述痴奏,運(yùn)行后蛀骇,問題來了,老是會出現(xiàn)如下錯誤
這個也很好久解決读拆,意思就是說擅憔,你在添加一個視圖的時候必須要把他所在的父類視圖移除掉。
嗯檐晕,會看了下代碼暑诸,決定在adapter里按照提示移除父類視圖:于是改成了這樣子:
在adapter實(shí)例化每個view的時候先去獲取parent,如果存在辟灰,那么就先去移除个榕,個人感覺很完美了,運(yùn)行一下伞矩,OK了笛洛,心里竊喜,
但是在配合rv刷新的時候還是繼續(xù)報這個錯誤乃坤,這就奇怪了苛让,百度了一番,也是沒有找到解決辦法湿诊。
? ? ? 既然找不到解決方案狱杰,就只能自己捋捋代碼,看看邏輯的問題了厅须。原來仿畸,我是在Fragment里實(shí)例了一個Int 類型的圖片資源數(shù)組,再去遍歷這個數(shù)組朗和,遍歷的同時new出來一個新的imagerview 错沽,添加到一個list里面。最后才是把這個盛裝圖片的集合傳到adapter里面眶拉,那么問題會不會是處在 new Image這個步驟里呢千埃??忆植?放可?
我感覺八九不離十已經(jīng)找到問題的癥結(jié)了,在new image的時候需要傳一個context上下文對象朝刊,或許就這里除了問題了耀里。
那么,這就好解決了拾氓,在布局里聲明一個imageview控件 不就好了嗎冯挎,是吧,哈哈哈咙鞍,后來织堂,我這樣做了叠艳,真的是不會再報錯了
至此, 脫坑了易阳,輪播圖不會再出現(xiàn)任何異常了附较。希望記錄下加深下印象,同時 能夠幫助到還在坑里掙扎的人潦俺。上班了拒课。