From 27412be889d0a58a93fd20d40d40ff22afe4990c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 15 八月 2020 17:39:24 +0800 Subject: [PATCH] '视频详情页面完善' --- BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java | 100 +++++++++++++++++++++++++++++--------------------- 1 files changed, 58 insertions(+), 42 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java index 3b2e81a..c1eed5a 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java @@ -12,7 +12,7 @@ import android.os.Handler; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.StaggeredGridLayoutManager; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -20,7 +20,6 @@ import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.FrameLayout; -import android.widget.GridView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; @@ -60,7 +59,6 @@ import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.VideoUtil; import com.weikou.beibeivideo.util.ad.ExpressAdManager; -import com.weikou.beibeivideo.util.ui.DividerItemDecoration; import com.yeshi.buwanshequ.R; import org.apache.http.Header; @@ -94,6 +92,8 @@ private FrameLayout fl_native_ad1; private EpisodeNewAdapter episodeAdapter; + + final String TAG = "EpisodeFragment"; public static DisplayImageOptions option = new DisplayImageOptions.Builder() .showImageForEmptyUri(R.drawable.from_other) @@ -156,16 +156,36 @@ } } - private void loadEpisode(){ + private void loadEpisode() { + + int type = 0; + if (mVideoInfo.getShowType() == 1) { // 缁艰壓鎴栬�呯數褰� - episodeAdapter = new EpisodeNewAdapter(getContext(), mVideoInfo, EpisodeNewAdapter.TYPE_ZONGYI, mPlayingPosition); + type = EpisodeNewAdapter.TYPE_ZONGYI; + } else if (mVideoInfo.getShowType() == 2) { // 鐢佃鍓у姩婕� - episodeAdapter = new EpisodeNewAdapter(getContext(), mVideoInfo, EpisodeNewAdapter.TYPE_DIANSHIJU, mPlayingPosition); + type = EpisodeNewAdapter.TYPE_DIANSHIJU; } + episodeAdapter = new EpisodeNewAdapter(getContext(), mVideoInfo, type, mPlayingPosition, new EpisodeNewAdapter.ISelectVideoEpisodeListener() { + @Override + public void onClick(int position, VideoDetailInfo detailInfo) { + VideoDetailInfo videoDetailInfo = detailInfo; + mPlayingPosition = position; + episodeAdapter.setPlayingPosition(mPlayingPosition); + refresh(); + Playlocation playlocation = new Playlocation(); + playlocation.setPosition(position); + EventBus.getDefault().post(playlocation); + getUrl(videoDetailInfo); + } + }); LinearLayoutManager ms = new LinearLayoutManager(getContext()); ms.setOrientation(LinearLayoutManager.HORIZONTAL); + + rv_episode.setHasFixedSize(true); + rv_episode.setNestedScrollingEnabled(false); rv_episode.setLayoutManager(ms); rv_episode.addItemDecoration(new SpacesItemDecoration(DimenUtils.dip2px(getContext(), 10))); @@ -173,6 +193,7 @@ @Override public void onCreateView(View contentView, Bundle savedInstanceState) { + Log.i(TAG, "onCreateView"); EventBus.getDefault().register(this); mVideoInfo = (VideoInfo) getArguments() .getSerializable("video_info"); @@ -235,49 +256,28 @@ fl_native_ad1 = contentView .findViewById(R.id.fl_native_ad_1); rv_episode = contentView.findViewById(R.id.rv_episode); - loadEpisode(); - //TODO 鐐瑰嚮浜嬩欢鍝嶅簲 -// rv_episode.setOnItemClickListener(new OnItemClickListener() { -// @Override -// public void onItemClick(AdapterView<?> parent, View view, -// int position, long id) { -// VideoDetailInfo videoDetailInfo = (VideoDetailInfo) parent -// .getItemAtPosition(position); -// if (selectedUrl == null) { -// return; -// } -// mPlayingPosition = position; -// episodeAdapter = new EpisodeAdapter(mVideoInfo, -// mPlayingPosition); -// episodeAdapter2 = new EpisodeAdapter2(mVideoInfo, -// mPlayingPosition); -// refresh(); -// Playlocation playlocation = new Playlocation(); -// playlocation.setPosition(position); -// EventBus.getDefault().post(playlocation); -// getUrl(videoDetailInfo); -// } -// }); contentView.findViewById(R.id.iv_share).setOnClickListener(this); contentView.findViewById(R.id.iv_offline_cache).setOnClickListener(this); fl_report = contentView.findViewById(R.id.fl_report); iv_favourite = contentView.findViewById(R.id.iv_add_to_favourite); fl_report.setOnClickListener(this); iv_favourite.setOnClickListener(this); - + loadEpisode(); refresh(); isCollect(); loadAD1(); setFrom(mVideoInfo); + if (mVideoInfo.getVideoDetailList() != null && mVideoInfo.getVideoDetailList().size() > 1) { + rv_episode.setVisibility(View.VISIBLE); + } else + rv_episode.setVisibility(View.GONE); } public void onEventMainThread(Playlocation playlocation) { mPlayingPosition = playlocation.getPosition(); - //TODO 閲嶆柊璧嬪�� - // episodeAdapter = new EpisodeAdapter(mVideoInfo, - // mPlayingPosition); + loadEpisode(); refresh(); } @@ -385,21 +385,32 @@ * 鍒锋柊adapter */ public void refresh() { - rv_episode.setAdapter(episodeAdapter); + if (rv_episode.getAdapter() != null) + rv_episode.getAdapter().notifyDataSetChanged(); + else + rv_episode.postDelayed(new Runnable() { + @Override + public void run() { + Log.i(TAG, "refresh"); + rv_episode.setAdapter(episodeAdapter); + } + }, 500); + + } // 鍔犺浇鎾斁椤电涓�鏉″箍鍛婏紝鍏堣缃姞杞戒笂涓嬫枃鐜鍜屾潯浠� private void loadAD1() { - new ExpressAdManager(ExpressAdManager.SOURCE_GDT, getContext()).loadVideoDetailAd(1, new ExpressAdManager.IAdLoadListener() { + new ExpressAdManager(ExpressAdManager.SOURCE_GDT2, getContext()).loadVideoDetailPlayerBottomAd(new ExpressAdManager.IAdLoadListener() { @Override public void onSuccess(List<ExpressAdContainer> adList) { - - ExpressAdManager.render(getActivity(), adList.get(0), fl_native_ad1, new ExpressAdManager.IAdEventListener() { - @Override - public void closeAd() { - fl_native_ad1.removeAllViews(); - } - }); + if (adList != null && adList.size() > 0) + ExpressAdManager.render(getActivity(), adList.get(0), fl_native_ad1, new ExpressAdManager.IAdEventListener() { + @Override + public void closeAd() { + fl_native_ad1.removeAllViews(); + } + }); } }); } @@ -504,10 +515,15 @@ public void onEventMainThread(VideoInfo videoInfo) { mVideoInfo = videoInfo; + if (mVideoInfo.getVideoDetailList() != null && mVideoInfo.getVideoDetailList().size() > 1) { + rv_episode.setVisibility(View.VISIBLE); + } else + rv_episode.setVisibility(View.GONE); setFrom(videoInfo); iv_favourite.setEnabled(true); fl_report.setEnabled(true); rv_episode.setAdapter(episodeAdapter); + } private void setFrom(VideoInfo info) { -- Gitblit v1.8.0