diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/DohDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/DohDialog.java index c4b8a7a67..e42c21476 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/DohDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/DohDialog.java @@ -6,6 +6,7 @@ import android.view.WindowManager; import androidx.appcompat.app.AlertDialog; +import com.fongmi.android.tv.App; import com.fongmi.android.tv.databinding.DialogDohBinding; import com.fongmi.android.tv.impl.DohCallback; import com.fongmi.android.tv.ui.adapter.DohAdapter; @@ -46,7 +47,7 @@ public class DohDialog implements DohAdapter.OnClickListener { binding.recycler.setAdapter(adapter); binding.recycler.setHasFixedSize(true); binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16)); - binding.recycler.scrollToPosition(adapter.getSelect()); + App.post(() -> binding.recycler.scrollToPosition(adapter.getSelect()), 16); } private void setDialog() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java index 6f055d084..dbcd13f4c 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java @@ -7,6 +7,7 @@ import android.view.WindowManager; import androidx.appcompat.app.AlertDialog; import androidx.recyclerview.widget.GridLayoutManager; +import com.fongmi.android.tv.App; import com.fongmi.android.tv.api.LiveConfig; import com.fongmi.android.tv.bean.Live; import com.fongmi.android.tv.databinding.DialogLiveBinding; @@ -44,7 +45,7 @@ public class LiveDialog implements LiveAdapter.OnClickListener { binding.recycler.setHasFixedSize(true); binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16)); binding.recycler.setLayoutManager(new GridLayoutManager(dialog.getContext(), 1)); - binding.recycler.scrollToPosition(LiveConfig.getHomeIndex()); + App.post(() -> binding.recycler.scrollToPosition(LiveConfig.getHomeIndex()), 16); } private void setDialog() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java index 8333452d8..1a5280351 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java @@ -10,6 +10,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; import com.fongmi.android.tv.api.ApiConfig; import com.fongmi.android.tv.bean.Site; @@ -94,7 +95,7 @@ public class SiteDialog implements SiteAdapter.OnClickListener, CompoundButton.O if (decoration != null) binding.recycler.removeItemDecoration(decoration); binding.recycler.addItemDecoration(decoration = new SpaceItemDecoration(getCount(), 16)); binding.recycler.setLayoutManager(new GridLayoutManager(dialog.getContext(), getCount())); - if (!binding.mode.hasFocus()) binding.recycler.scrollToPosition(ApiConfig.getHomeIndex()); + if (!binding.mode.hasFocus()) App.post(() -> binding.recycler.scrollToPosition(ApiConfig.getHomeIndex()), 16); } private void setDialog() { diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/dialog/TrackDialog.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/dialog/TrackDialog.java index 13ac96750..01d952dfd 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/dialog/TrackDialog.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/dialog/TrackDialog.java @@ -10,6 +10,7 @@ import androidx.fragment.app.FragmentActivity; import androidx.media3.common.Tracks; import androidx.viewbinding.ViewBinding; +import com.fongmi.android.tv.App; import com.fongmi.android.tv.bean.Track; import com.fongmi.android.tv.databinding.DialogTrackBinding; import com.fongmi.android.tv.player.Players; @@ -65,9 +66,9 @@ public final class TrackDialog extends BaseDialog implements TrackAdapter.OnClic @Override protected void initView() { binding.recycler.setHasFixedSize(true); - binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16)); binding.recycler.setAdapter(adapter.addAll(getTrack())); - binding.recycler.scrollToPosition(adapter.getSelected()); + binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16)); + App.post(() -> binding.recycler.scrollToPosition(adapter.getSelected()), 16); } private List getTrack() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java index 8f5db498c..1c5568d35 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/LiveDialog.java @@ -54,7 +54,7 @@ public class LiveDialog implements LiveAdapter.OnClickListener { binding.recycler.setAdapter(adapter); binding.recycler.setHasFixedSize(true); binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 8)); - binding.recycler.scrollToPosition(LiveConfig.getHomeIndex()); + App.post(() -> binding.recycler.scrollToPosition(LiveConfig.getHomeIndex()), 16); } private void setDialog() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java index c2e457121..db16bc11e 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java @@ -71,7 +71,7 @@ public class SiteDialog implements SiteAdapter.OnClickListener { binding.recycler.setItemAnimator(null); binding.recycler.setHasFixedSize(true); binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 8)); - binding.recycler.scrollToPosition(ApiConfig.getHomeIndex()); + App.post(() -> binding.recycler.scrollToPosition(ApiConfig.getHomeIndex()), 16); } private void setDialog() {