возвратное окно в tablayout вызывается только один раз - PullRequest
2 голосов
/ 07 октября 2019

У меня есть recylcerview внутри tablayout, а tablayout находится внутри фрагмента (навигационное представление)
Моя проблема в том, что recyclerview отображается / вызывается только один раз (первоначальный запуск приложения). после
переключения на другое навигационное представление и возврата к предыдущему табулатуру с видом переработчика,
обзор утилизатора больше не вызывается.

вот мой код: первый табулатура

private fun setupViewPager() {
    if (Singleton.sa != null) {
        val adapter = ViewPagerAdapter(Singleton.sa!!)
        adapter.addFragment(FirstFragment(), "Recently Added")
        tab_viewpager.adapter = adapter
        tab_tabs.setupWithViewPager(tab_viewpager)
    } else {
    }
}

internal inner class ViewPagerAdapter(manager: FragmentManager):
    FragmentPagerAdapter(manager) {

    private val mFragmentList = ArrayList<Fragment>()
    private val mFragmentTitleList = ArrayList<String>()

    override fun getItem(position: Int): Fragment {
        return mFragmentList[position]
    }

    override fun getCount(): Int {
        return mFragmentList.size
    }

    override fun getPageTitle(position: Int): CharSequence {
        return mFragmentTitleList[position]
    }

    fun addFragment(fragment: Fragment, title: String) {
        mFragmentList.add(fragment)
        mFragmentTitleList.add(title)
    }
}

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Я уже нашел ответ в этом, так как никто не мог ответить на него.

вместо использования

val adapter = ViewPagerAdapter(parent's context/activity)

use,

val adapter = ViewPagerAdapter(childFragmentManager)
0 голосов
/ 07 октября 2019

Если вы проверите LifeCycle фрагмента, вы поймете, как / когда обновлять Recyclerview с помощью табличного представления.

В любом случае, вы можете добавить функцию в свой onResume () для обновления элементов вашего просмотрщика или вызвать api.

  @Override public void 
    super.onResume();
    yourMethod();
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...