From c1ab529f3f27020b99db713e785e4a703a054e05 Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期四, 01 四月 2021 02:00:22 +0800 Subject: [PATCH] 首页与搜索页广告优化 --- BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchResultActivity.java | 64 ++++++++++++++++--------------- 1 files changed, 33 insertions(+), 31 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchResultActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchResultActivity.java index 31faf28..30b8320 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchResultActivity.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchResultActivity.java @@ -394,28 +394,27 @@ }); } - private void fillAD(List<ExpressAdContainer> adList) { - if (adList != null) { - SearchResultActivity.this.adList.addAll(adList); - } + private synchronized void fillAD(List<ExpressAdContainer> adList) { - if (adList.size() > 0) { - boolean hasAd = false; - if (mVideoInfos != null && mVideoInfos.size() > 0) - for (VideoContent vc : mVideoInfos) { - if (vc.getType() == VideoContent.TYPE_AD) { - hasAd = true; - break; - } + //鍒ゆ柇褰撳墠椤甸潰鏄惁闇�瑕佸箍鍛� + int albumCount = 0; + if (mVideoInfos != null && mVideoInfos.size() > 0) + for (int i = 0; i < mVideoInfos.size(); i++) { + VideoContent vc = mVideoInfos.get(i); + if (vc.getType() == VideoContent.TYPE_AD) { + //鏇存柊骞垮憡 + vc.setAd(adList.get(0)); + adapter.notifyItemChanged(i); + return; + } else if (vc.getVideo().getShowType() == 1) { + albumCount++; } - //涓嶅瓨鍦ㄥ箍鍛� - if (!hasAd && mVideoInfos.size() > 2) { - //TODO 娴嬭瘯 - VideoContent videoContent = VideoContent.createAdContent(SearchResultActivity.this.adList.get(0)); - mVideoInfos.add(2, videoContent); - SearchResultActivity.this.adList.remove(0); - adapter.notifyDataSetChanged(); } + + if (albumCount >= 2) { + VideoContent videoContent = VideoContent.createAdContent(adList.get(0)); + mVideoInfos.add(2, videoContent); + adapter.notifyItemInserted(2); } } @@ -461,7 +460,6 @@ // SearchResultAdManager.getInstance(getApplicationContext()).autoLoadAd(); // } - private List<ExpressAdContainer> adList = new ArrayList<>(); private void search(String key, String videoType) { @@ -507,17 +505,23 @@ } - if (adList.size() > 0) { - int adPosition = (int) (videoContentList.size() * Math.random()); - if (mCurrentPage == 1) - adPosition = 0; - videoContentList.add(adPosition, VideoContent.createAdContent(adList.get(0))); - adList.remove(0); - } + //璁板綍褰撳墠鐨勫箍鍛婁俊鎭� + VideoContent adContent = null; + int adContentP = -1; if (mCurrentPage <= 1) { + for (int i = 0; i < mVideoInfos.size(); i++) { + if (mVideoInfos.get(i).getType() == VideoContent.TYPE_AD) { + adContent = mVideoInfos.get(i); + adContentP = i; + } + } mVideoInfos.clear(); } + mVideoInfos.addAll(videoContentList); + if (adContent != null && mVideoInfos.size() >= adContentP) { + mVideoInfos.add(adContentP, adContent); + } adapter.notifyDataSetChanged(); if (mVideoInfos != null && mVideoInfos.size() > 0) { @@ -530,10 +534,8 @@ rl_search_result.setVisibility(View.GONE); } - //鍔犺浇涓嬩竴娆¤鐢ㄧ殑骞垮憡 - if (videoInfos.size() > 0) { - if (adList.size() < 1) - loadAd(); + if (mCurrentPage == 1) { + loadAd(); } } } -- Gitblit v1.8.0