From 00795968c35512cccd06eef1208a81421732aacf Mon Sep 17 00:00:00 2001 From: linminjie <1004644107@qq.com> Date: Wed, 7 Jun 2023 16:17:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A6=E5=8F=B3=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 --- .../unionmedtv/activity/AddressSelectActivity.java | 2 ++ .../unionmed/unionmedtv/activity/DoctorActivity.java | 3 +++ .../unionmed/unionmedtv/activity/HospitalActivity.java | 5 ++++- .../unionmed/unionmedtv/fragment/MyDoctorFragment.java | 18 +++++++++--------- .../unionmed/unionmedtv/utils/MyGridLayoutManager.java | 7 +++++-- app/src/main/res/layout/activity_address_select.xml | 1 - app/src/main/res/layout/activity_home.xml | 3 ++- app/src/main/res/layout/fragment_my_doctor.xml | 3 ++- 8 files changed, 27 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/unionmed/unionmedtv/activity/AddressSelectActivity.java b/app/src/main/java/com/unionmed/unionmedtv/activity/AddressSelectActivity.java index 8fce5e2..4ce5f43 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/activity/AddressSelectActivity.java +++ b/app/src/main/java/com/unionmed/unionmedtv/activity/AddressSelectActivity.java @@ -72,7 +72,9 @@ public class AddressSelectActivity extends BaseActivity { @Override public CharSequence getLabelText(TextView textView, int i, City city) { textView.setFocusable(true); + textView.setId(R.id.tv); textView.setFocusableInTouchMode(true); + textView.setNextFocusUpId(R.id.tv); if(city.getPkey().equals(CacheUtil.getPkey())){ textView.requestFocus(); } diff --git a/app/src/main/java/com/unionmed/unionmedtv/activity/DoctorActivity.java b/app/src/main/java/com/unionmed/unionmedtv/activity/DoctorActivity.java index be66bf3..5dce5ab 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/activity/DoctorActivity.java +++ b/app/src/main/java/com/unionmed/unionmedtv/activity/DoctorActivity.java @@ -150,6 +150,9 @@ public class DoctorActivity extends BaseActivity { recyclerView.post(new Runnable() { @Override public void run() { + if (doctorInfo.size() == 0) { + selectPostion = selectPostion - 1; + } View view = recyclerView.getLayoutManager().findViewByPosition(selectPostion); if (view != null) { recyclerView.requestFocus(); diff --git a/app/src/main/java/com/unionmed/unionmedtv/activity/HospitalActivity.java b/app/src/main/java/com/unionmed/unionmedtv/activity/HospitalActivity.java index aa2c72e..b43ae32 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/activity/HospitalActivity.java +++ b/app/src/main/java/com/unionmed/unionmedtv/activity/HospitalActivity.java @@ -148,7 +148,10 @@ public class HospitalActivity extends BaseActivity { recyclerView.post(new Runnable() { @Override public void run() { - View view = recyclerView.getLayoutManager().findViewByPosition(selectPostion - 1); + if (doctorInfo.size() == 0) { + selectPostion = selectPostion - 1; + } + View view = recyclerView.getLayoutManager().findViewByPosition(selectPostion); if (view != null) { recyclerView.requestFocus(); view.requestFocus(); diff --git a/app/src/main/java/com/unionmed/unionmedtv/fragment/MyDoctorFragment.java b/app/src/main/java/com/unionmed/unionmedtv/fragment/MyDoctorFragment.java index adafb75..8447309 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/fragment/MyDoctorFragment.java +++ b/app/src/main/java/com/unionmed/unionmedtv/fragment/MyDoctorFragment.java @@ -49,7 +49,8 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener { private int startNum = 0; private int endNum = 10; private int selectPostion = 0;//当前列表item点击位置 - private ImgConstraintLayout constraint; + private ImgConstraintLayout constraint_doctor; + private ImgConstraintLayout constraint_hospital; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_my_doctor, container, false); @@ -70,13 +71,12 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener { DoctorDetailActivity.StartActivity(getActivity(), memberBean.getPersoninfo().get(0).getUseraccount()); } }); - iv_doctor = view.findViewById(R.id.iv_doctor); - iv_doctor.setOnClickListener(this); - constraint=view.findViewById(R.id.constraint); + constraint_doctor=view.findViewById(R.id.constraint_doctor); View v=getActivity().findViewById(R.id.tv_my_doctor); - constraint.setNextFocusLeftId(v.getId()); - iv_hospital = view.findViewById(R.id.iv_hospital); - iv_hospital.setOnClickListener(this); + constraint_doctor.setNextFocusLeftId(R.id.constraint_doctor); + constraint_doctor.setOnClickListener(this); + constraint_hospital=view.findViewById(R.id.constraint_hospital); + constraint_hospital.setOnClickListener(this); recyclerView.setAdapter(contractedDoctorAdapter); recyclerView.addItemDecoration(new LinearSpacingItemDecoration(getActivity(), 24)); // iv_doctor.setOnFocusChangeListener(new View.OnFocusChangeListener() { @@ -138,9 +138,9 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener { @Override public void onClick(View view) { - if (view.getId() == R.id.iv_doctor) { + if (view.getId() == R.id.constraint_doctor) { DoctorActivity.StartActivity(getActivity()); - } else if (view.getId() == R.id.iv_hospital) { + } else if (view.getId() == R.id.constraint_hospital) { HospitalActivity.StartActivity(getActivity()); } } 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 fc7de4a..dc56cd3 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/utils/MyGridLayoutManager.java +++ b/app/src/main/java/com/unionmed/unionmedtv/utils/MyGridLayoutManager.java @@ -53,8 +53,11 @@ public class MyGridLayoutManager extends GridLayoutManager { int lastVisiblePosition = findLastVisibleItemPosition(); switch (direction) { case View.FOCUS_DOWN: - currentPosition = currentPosition + getSpanCount(); - scrollToPosition(currentPosition); + if(currentPosition + getSpanCount() diff --git a/app/src/main/res/layout/fragment_my_doctor.xml b/app/src/main/res/layout/fragment_my_doctor.xml index 7623658..a981fbe 100644 --- a/app/src/main/res/layout/fragment_my_doctor.xml +++ b/app/src/main/res/layout/fragment_my_doctor.xml @@ -20,7 +20,7 @@ app:layout_constraintTop_toTopOf="parent">