#kotlin #tabs #lifecycle
#kotlin #вкладки #жизненный цикл
Вопрос:
Я просто хак и новичок…Я получил много хорошей информации на этом сайте, но, похоже, не могу найти ответ на вопрос, как установить максимальный жизненный цикл фрагмента, чтобы при его выборе onResume()
выполнялся для этого фрагмента.
Я создал простое приложение с 3 вкладками с помощью видеороликов YouTube и не понял, как правильно настроить жизненный цикл. Я не уверен, сколько информации я должен включить, поэтому я начну с этого:
val tabLayout: TabLayout = findViewById(R.id.tab_layout)
val viewPager: ViewPager = findViewById(R.id.view_pager)
val viewPagerAdpater = ViewPagerAdapter(supportFragmentManager)
viewPagerAdpater.addFragment(SummaryFragment(), "Summary")
viewPagerAdpater.addFragment(BoxFragment(), "Box")
viewPagerAdpater.addFragment(SettingsFragment(), "Settings")
viewPager.adapter = viewPagerAdpater
tabLayout.setupWithViewPager(viewPager)
Я пробовал это, что приводит к сбою:
supportFragmentManager.beginTransaction().setMaxLifecycle(viewPagerAdpater.GetItem(1), жизненный цикл.Состояние.ВОЗОБНОВЛЕНО)
Существует также такой код:
internal class ViewPagerAdapter(fragmentManager: FragmentManager) : FragmentPagerAdapter(fragmentManager) {
private val fragments: ArrayList<Fragment>
private val titles: ArrayList<String>
init{
fragments = ArrayList<Fragment>()
titles = ArrayList<String>()
}
override fun getItem(position: Int): Fragment {
return fragments[position]
}
override fun getCount(): Int {
return fragments.size
}
fun addFragment(fragment: Fragment, title: String){
fragments.add(fragment)
titles.add(title)
}
override fun getPageTitle(i: Int): CharSequence? {
return titles[i]
}
}
Спасибо и дайте мне знать, если потребуется дополнительная информация…
Комментарии:
1. Какое сообщение об исключении появляется при сбое?
2. Эмулятор просто говорит, что приложение продолжает останавливаться. Если я закомментирую строку setmaxlifecycle, программа будет работать нормально.