This commit is contained in:
Horis
2024-12-18 19:49:25 +08:00
parent fc7e0d3619
commit e2bc837a04
@@ -9,6 +9,7 @@ import android.view.SubMenu
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentStatePagerAdapter import androidx.fragment.app.FragmentStatePagerAdapter
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.viewpager.widget.ViewPager
import io.legado.app.R import io.legado.app.R
import io.legado.app.base.BaseActivity import io.legado.app.base.BaseActivity
import io.legado.app.constant.AppLog import io.legado.app.constant.AppLog
@@ -34,6 +35,7 @@ class RssFavoritesActivity : BaseActivity<ActivityRssFavoritesBinding>() {
private val adapter by lazy { TabFragmentPageAdapter() } private val adapter by lazy { TabFragmentPageAdapter() }
private var groupList = mutableListOf<String>() private var groupList = mutableListOf<String>()
private var groupsMenu: SubMenu? = null private var groupsMenu: SubMenu? = null
private var currentGroup = ""
override fun onActivityCreated(savedInstanceState: Bundle?) { override fun onActivityCreated(savedInstanceState: Bundle?) {
initView() initView()
@@ -42,6 +44,21 @@ class RssFavoritesActivity : BaseActivity<ActivityRssFavoritesBinding>() {
private fun initView() { private fun initView() {
binding.viewPager.adapter = adapter 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.setupWithViewPager(binding.viewPager)
binding.tabLayout.setSelectedTabIndicatorColor(accentColor) binding.tabLayout.setSelectedTabIndicatorColor(accentColor)
} }
@@ -87,7 +104,14 @@ class RssFavoritesActivity : BaseActivity<ActivityRssFavoritesBinding>() {
if (groupsMenu != null) { if (groupsMenu != null) {
upGroupsMenu() upGroupsMenu()
} }
if (groupList.isNotEmpty() && currentGroup.isEmpty()) {
currentGroup = groupList[0]
}
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
val item = groupList.indexOf(currentGroup)
if (item > -1) {
binding.viewPager.setCurrentItem(item)
}
} }
} }
} }