查看Pager 2在选项卡之间滑动不工作
我的viewPager2
面临一些问题。我已经使用了标准viewPager
,但是由于fragmentPagerAdapter
被弃用,所以我决定迁移到viewPager2。
这就是现在的样子,现在
class ViewPagerAdapter(fragment : Fragment) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int {
return 3
}
override fun createFragment(position: Int): Fragment {
return when(position){
0 -> Fragment1()
1 -> Fragment2()
2 -> Fragment3()
else -> Fragment1()
}
}
class RozliczanieFragment : Fragment() {
private var _binding: FragBinding? = null
private val binding get() = _binding!!
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
_binding = FragBinding.inflate(inflater, container, false)
val viewPager = binding.pager
val pagerAdapter = ViewPagerAdapter(this)
viewPager.adapter = pagerAdapter
val tabs = binding.tab
TabLayoutMediator(tabs, viewPager){
tab, position ->
when(position){
0 -> tab.text = "1"
1 -> tab.text = "2"
2 -> tab.text = "3"
}
}.attach()
return binding.root
}
我的viewPager2
在另一个片段中,因此我使用fragmentStateDeadapter
,并将片段传递给ARG。
问题是我无法使用Swipe 更改选项卡/片段。使用标准ViewPager
一切都很好。有什么问题?我找不到有关在另一个片段内的viewPager2
实现的太多信息,所以也许我做错了什么。
I'm facing some problem with my ViewPager2
. I have used a standard viewpager
but since the FragmentPagerAdapter
is deprecated I decided to migrate to ViewPager2.
That's how it looks like now
class ViewPagerAdapter(fragment : Fragment) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int {
return 3
}
override fun createFragment(position: Int): Fragment {
return when(position){
0 -> Fragment1()
1 -> Fragment2()
2 -> Fragment3()
else -> Fragment1()
}
}
class RozliczanieFragment : Fragment() {
private var _binding: FragBinding? = null
private val binding get() = _binding!!
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
_binding = FragBinding.inflate(inflater, container, false)
val viewPager = binding.pager
val pagerAdapter = ViewPagerAdapter(this)
viewPager.adapter = pagerAdapter
val tabs = binding.tab
TabLayoutMediator(tabs, viewPager){
tab, position ->
when(position){
0 -> tab.text = "1"
1 -> tab.text = "2"
2 -> tab.text = "3"
}
}.attach()
return binding.root
}
My ViewPager2
is inside another fragment so i used FragmentStateAdapter
and passed fragment as arg.
The problem is I can't change tab/fragment using swipe. With standard ViewPager
everything was fine. What can be a problem? I couldn't find much information about the implementation of ViewPager2
inside of another fragment, so maybe I did something wrong.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论