From a977cf6efb790ecc53f6326654460444954eb03d Mon Sep 17 00:00:00 2001 From: 21561 <215613905@qq.com> Date: Sun, 16 Mar 2025 16:27:08 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E9=9B=86=E6=95=B0=E5=A4=A7=E4=BA=8E1?= =?UTF-8?q?=E5=B0=B1=E6=98=BE=E7=A4=BA=E5=80=92=E5=BA=8F;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tvbox/osc/ui/activity/DetailActivity.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java index a89d4dd8..3acad5ea 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java @@ -460,7 +460,9 @@ public class DetailActivity extends BaseActivity { } @Override - public void onItemClick(TvRecyclerView parent, View itemView, int position) { } + public void onItemClick(TvRecyclerView parent, View itemView, int position) { + seriesAdapter.setNewData(new ArrayList<>()); + } }); seriesGroupAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { @Override @@ -598,7 +600,7 @@ public class DetailActivity extends BaseActivity { } private boolean isReverse(List list) { // 循环比较相邻元素 - for (int i = 0; i < 5; i++) { + for (int i = 0; i < Math.min(list.size(),5); i++) { int current = extractNumber(list.get(i).name); int next = extractNumber(list.get(i + 1).name); if (current < next) return false; @@ -611,14 +613,19 @@ public class DetailActivity extends BaseActivity { private void setSeriesGroupOptions(){ List list = vodInfo.seriesMap.get(vodInfo.playFlag); int listSize = list.size(); + if(listSize>=2){ + tvSeriesSort.setText(isReverse(list)?"倒序":"正序"); + tvSeriesSort.setVisibility(View.VISIBLE); + }else { + tvSeriesSort.setVisibility(View.GONE); + } int offset = mGridViewLayoutMgr.getSpanCount(); seriesGroupOptions.clear(); GroupCount=(offset==3 || offset==6)?30:20; if(listSize>100 && listSize<=400)GroupCount=60; if(listSize>400)GroupCount=120; if(listSize > GroupCount) { - tvSeriesSort.setText(isReverse(list)?"倒序":"正序"); - tvSeriesGroup.setVisibility(View.VISIBLE); + mSeriesGroupView.setVisibility(View.VISIBLE); int remainedOptionSize = listSize % GroupCount; int optionSize = listSize / GroupCount; @@ -640,7 +647,7 @@ public class DetailActivity extends BaseActivity { seriesGroupAdapter.notifyDataSetChanged(); }else { - tvSeriesGroup.setVisibility(View.GONE); + mSeriesGroupView.setVisibility(View.GONE); } } @@ -759,7 +766,7 @@ public class DetailActivity extends BaseActivity { } else { mGridViewFlag.setVisibility(View.GONE); mGridView.setVisibility(View.GONE); - tvSeriesGroup.setVisibility(View.GONE); + mSeriesGroupView.setVisibility(View.GONE); tvPlay.setVisibility(View.GONE); mEmptyPlayList.setVisibility(View.VISIBLE); } @@ -989,7 +996,7 @@ public class DetailActivity extends BaseActivity { toggleFullPreview(); mGridView.requestFocus(); List list = vodInfo.seriesMap.get(vodInfo.playFlag); - tvSeriesGroup.setVisibility(list.size()>GroupCount ? View.VISIBLE : View.GONE); + mSeriesGroupView.setVisibility(list.size()>GroupCount ? View.VISIBLE : View.GONE); return; } if (seriesSelect) { @@ -1030,7 +1037,7 @@ public class DetailActivity extends BaseActivity { llPlayerFragmentContainerBlock.setVisibility(fullWindows ? View.GONE : View.VISIBLE); mGridView.setVisibility(fullWindows ? View.GONE : View.VISIBLE); mGridViewFlag.setVisibility(fullWindows ? View.GONE : View.VISIBLE); - tvSeriesGroup.setVisibility(fullWindows ? View.GONE : View.VISIBLE); + mSeriesGroupView.setVisibility(fullWindows ? View.GONE : View.VISIBLE); //全屏下禁用详情页几个按键的焦点 防止上键跑过来 tvPlay.setFocusable(!fullWindows);