2016-08-24 90 views
0

我在Android中實現了一個適配器,用於將Admob原生廣告添加到LivtView對象中。這是一個簡單的解決方案,它工作正常,但滾動列表視圖時原生廣告閃爍。當從屏幕上擡起我的手指時實際上會發生閃爍 - 而列表正在滾動原始廣告卷軸而沒有閃爍。避免vViewGroup在listView中閃爍

我這樣做的方法是在同一個適配器中插入常規列表視圖項和原生廣告 - 我跟蹤原生廣告插入的位置,並在加載廣告之前在後臺加載原生廣告,我在適配器中插入一個虛擬視圖;隨着每個廣告都被加載,我用原生廣告替換了虛擬視圖。在getView,我是否繪製產品原生廣告,如果是這樣,我吹一個虛擬的LinearLayout視圖,執行下列操作以添加到它的原生廣告(如果已加載):

((ViewHolder) holder).layout.removeAllViews(); 
((ViewHolder) holder).layout.addView(view); 

有沒有簡單的解決辦法?我在使用RecyclerView時看到類似案例的解決方案,但我還沒有找到解決方案。

+0

我建議本地admob不是明智的選擇,因爲飼料廣告使用NativeExpress Ads,您還需要切換到RecyclerView以更好地控制可回收內容。 –

回答

0

經過一番調試後,我發現每次調用getView函數(即使它是可見的),原生廣告都插入到ListView中。問題是我的getView代碼中存在一個錯誤 - 即使傳遞給函數的視圖不是null,每次都會調用填充項目的代碼。解決這個問題解決了問題!