From e2bc837a044ad9a981e3eb3762e9a2dcc14a6c96 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Wed, 18 Dec 2024 19:49:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/rss/favorites/RssFavoritesActivity.kt | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesActivity.kt b/app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesActivity.kt index 931b7843fb9b..243fec33c508 100644 --- a/app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesActivity.kt +++ b/app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesActivity.kt @@ -9,6 +9,7 @@ import android.view.SubMenu import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentStatePagerAdapter import androidx.lifecycle.lifecycleScope +import androidx.viewpager.widget.ViewPager import io.legado.app.R import io.legado.app.base.BaseActivity import io.legado.app.constant.AppLog @@ -34,6 +35,7 @@ class RssFavoritesActivity : BaseActivity() { private val adapter by lazy { TabFragmentPageAdapter() } private var groupList = mutableListOf() private var groupsMenu: SubMenu? = null + private var currentGroup = "" override fun onActivityCreated(savedInstanceState: Bundle?) { initView() @@ -42,6 +44,21 @@ class RssFavoritesActivity : BaseActivity() { private fun initView() { binding.viewPager.adapter = adapter + binding.viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { + override fun onPageScrolled( + position: Int, + positionOffset: Float, + positionOffsetPixels: Int + ) { + } + + override fun onPageSelected(position: Int) { + currentGroup = groupList[position] + } + + override fun onPageScrollStateChanged(state: Int) {} + + }) binding.tabLayout.setupWithViewPager(binding.viewPager) binding.tabLayout.setSelectedTabIndicatorColor(accentColor) } @@ -63,7 +80,7 @@ class RssFavoritesActivity : BaseActivity() { override fun onCompatOptionsItemSelected(item: MenuItem): Boolean { if (item.groupId == R.id.menu_group) { binding.viewPager.setCurrentItem(item.order) - }else{ + } else { when (item.itemId) { R.id.menu_del_group -> deleteGroup() R.id.menu_del_all -> deleteAll() @@ -84,10 +101,17 @@ class RssFavoritesActivity : BaseActivity() { } else { binding.tabLayout.visible() } - if (groupsMenu != null){ + if (groupsMenu != null) { upGroupsMenu() } + if (groupList.isNotEmpty() && currentGroup.isEmpty()) { + currentGroup = groupList[0] + } adapter.notifyDataSetChanged() + val item = groupList.indexOf(currentGroup) + if (item > -1) { + binding.viewPager.setCurrentItem(item) + } } } } From f1eeec99e8edb23fe2c6c0ad91e85584d5fcbcae Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Wed, 18 Dec 2024 21:59:49 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/ui/rss/favorites/RssFavoritesActivity.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesActivity.kt b/app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesActivity.kt index 243fec33c508..0d3b3a0b9c8e 100644 --- a/app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesActivity.kt +++ b/app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesActivity.kt @@ -104,13 +104,12 @@ class RssFavoritesActivity : BaseActivity() { if (groupsMenu != null) { upGroupsMenu() } - if (groupList.isNotEmpty() && currentGroup.isEmpty()) { - currentGroup = groupList[0] - } adapter.notifyDataSetChanged() val item = groupList.indexOf(currentGroup) if (item > -1) { binding.viewPager.setCurrentItem(item) + } else if (groupList.isNotEmpty()) { + currentGroup = groupList[binding.viewPager.currentItem] } } }