我喜欢 的方法FragmentFactory,它可以将依赖项传递给构造函数中的片段。
我想将自定义FragmentFactory与FragmentStatePagerAdapter.
我在活动中托管视图寻呼机。我可以创建一个自定义片段工厂并将其分配给使用的活动
supportFragmentManager.fragmentFactory = CustomFragmentFactory()
Run Code Online (Sandbox Code Playgroud)
然后我可以用它supportFragmentManager来初始化我的FragmentStatePagerAdapter. 到目前为止还好。
我的问题是视图寻呼机中的片段显示依赖于位置的数据。
假设我有一个列表items和ItemFragment,它显示在显示 的视图寻呼机中items[position],因此有一个如下的构造函数:
class ItemFragment(val item: Item) : Fragment()
Run Code Online (Sandbox Code Playgroud)
我必须如何实现CustomFragmentFactoryandFragmentStatePagerAdapter的getItem(position: Int)函数才能实现与此等效的安全功能:
override fun getItem(position: Int) = ItemFragment(items[position])
Run Code Online (Sandbox Code Playgroud) android android-fragments fragmentstatepageradapter androidx android-fragmentfactory