From 2f91bae03c4b641a04eeb62b78a136900aa1d591 Mon Sep 17 00:00:00 2001 From: linminjie <1004644107@qq.com> Date: Thu, 8 Jun 2023 09:27:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=A5=E6=8E=A7=E7=A7=BB=E5=8A=A8=E7=84=A6?= =?UTF-8?q?=E7=82=B9=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/unionmed/unionmedtv/utils/MyGridLayoutManager.java | 7 ++++++- app/src/main/res/layout/fragment_my_doctor.xml | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/unionmed/unionmedtv/utils/MyGridLayoutManager.java b/app/src/main/java/com/unionmed/unionmedtv/utils/MyGridLayoutManager.java index 1573161..0ca6827 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/utils/MyGridLayoutManager.java +++ b/app/src/main/java/com/unionmed/unionmedtv/utils/MyGridLayoutManager.java @@ -52,9 +52,14 @@ public class MyGridLayoutManager extends GridLayoutManager { public View onInterceptFocusSearch(View focused, int direction) { int currentPosition = getPosition(getFocusedChild()); int count = getItemCount()-1; + //多少行 + int rowCount = getItemCount() / getSpanCount(); switch (direction) { case View.FOCUS_DOWN: - if (currentPosition + getSpanCount() < count) { + if(currentPosition /getSpanCount() ==rowCount){ + scrollToPosition(currentPosition); + return findViewByPosition(currentPosition); + }else if (currentPosition + getSpanCount() < count) { int nextRowFirstPosition1 = currentPosition + getSpanCount(); scrollToPosition(nextRowFirstPosition1); return findViewByPosition(nextRowFirstPosition1); diff --git a/app/src/main/res/layout/fragment_my_doctor.xml b/app/src/main/res/layout/fragment_my_doctor.xml index 9ce638e..b1a3c3b 100644 --- a/app/src/main/res/layout/fragment_my_doctor.xml +++ b/app/src/main/res/layout/fragment_my_doctor.xml @@ -13,6 +13,7 @@