Android 还记得Kotlin片段中选择的TabLayout选项卡吗
每当其父Android 还记得Kotlin片段中选择的TabLayout选项卡吗,android,android-fragments,kotlin,android-savedstate,Android,Android Fragments,Kotlin,Android Savedstate,每当其父活动重新启动时,从片段中的表格布局中记住所选选项卡的正确方法是什么?我的savedInstanceStateif语句似乎对我不起作用 class MyFragment : androidx.fragment.app.Fragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } override fun o
活动
重新启动时,从片段中的表格布局
中记住所选选项卡的正确方法是什么?我的savedInstanceState
if语句似乎对我不起作用
class MyFragment : androidx.fragment.app.Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?): View? {
return inflater.inflate(R.layout.my_fragment, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
if (savedInstanceState != null){
my_tabs.getTabAt(savedInstanceState.getInt(CURRENT_FRAGMENT))
}
val adapter = MyViewPagerAdapter((activity as AppCompatActivity).supportFragmentManager)
adapter.addFragment(getString(R.string.item_a), FragmentA())
adapter.addFragment(getString(R.string.item_b), FragmentB())
adapter.addFragment(getString(R.string.item_c), FragmentC())
adapter.addFragment(getString(R.string.item_d), FragmentD())
viewPager.adapter = adapter
my_tabs.setupWithViewPager(viewPager)
super.onActivityCreated(savedInstanceState)
}
}
尝试在共享首选项中保存当前选项卡位置,并在活动重新启动时从共享首选项设置该选项卡位置您是否确实从onCreateView
中调用super.onCreate(savedInstanceState)
?可能与你的问题无关,但这似乎不对#3@EpicPandaForce那么你是说它应该在onViewCreated
中声明吗?不,我是说一个ViewPager的FragmentPagerAdapter应该是这样的:否则你会有问题的。@EpicPandaForce Ok,但这仍然意味着我必须为每个ViewPager创建一个FragmentPagerAdapter,因为每个ViewPager都有不同数量的选项卡。