Запомнить выбранную вкладку TabLayout во фрагменте Kotlin - PullRequest
0 голосов
/ 20 марта 2020

Как правильно запомнить выбранную вкладку из TabLayout в Fragment при перезапуске родительского элемента Activity? Мое 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)
    }
}

1 Ответ

0 голосов
/ 20 марта 2020

Попробуйте сохранить текущую позицию вкладки в общем предпочтении и при перезапуске активности установить эту позицию вкладки из общего предпочтения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...