diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index cebcb89cc..2cd3a33b2 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -82,6 +82,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen private View mOldView; private boolean confirm; private Clock mClock; + private View mFocus; private Site getHome() { return VodConfig.get().getHome(); @@ -197,6 +198,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen String title = getHome().getName(); mBinding.title.setText(title.isEmpty() ? ResUtil.getString(R.string.app_name) : title); if (getHome().getKey().isEmpty()) return; + mFocus = getCurrentFocus(); getHomeFragment().mBinding.progressLayout.showProgress(); mViewModel.homeContent(); } @@ -211,7 +213,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen mPageAdapter.notifyDataSetChanged(); getHomeFragment().addVideo(result); getHomeFragment().mBinding.progressLayout.showContent(); - setFocus(); + App.post(() -> setFocus(), 200); } private void setPager() { @@ -466,8 +468,8 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen private void setFocus() { setLoading(false); - App.post(() -> mBinding.title.setFocusable(true), 500); - if (!mBinding.title.hasFocus()) { + if (!mBinding.title.isFocusable()) App.post(() -> mBinding.title.setFocusable(true), 500); + if (mFocus != mBinding.title) { if (Setting.getHomeUI() == 0) getHomeFragment().mBinding.recycler.requestFocus(); else mBinding.recycler.requestFocus(); }