Как я могу обновить TextView, который находится внутри ViewPager2
в kotlin?
Я попытался создать ссылку на мой фрагмент внутри ViewPager и изменить его таким образом, но свойство viewFragment
равен нулю, когда я нажимаю кнопку "Назад", чтобы снова вернуться к этому фрагменту
viewPagerAdapter?.viewFragment?.dhikrLbl?.textSize = newSize
мой фрагмент, который ссылается на пейджер просмотра
class DhikrFragment(val previewDhikr: PreviewDhikr) : HandleFontSize(), FontSizeDataSource {
private var defaultFontSize: FontSize = 24f
private var fontSize: FontSize by Delegates.observable(defaultFontSize) { _, _, newSize ->
viewPagerAdapter?.viewFragment?.dhikrLbl?.textSize = newSize
}
private var viewPagerAdapter: DhikrViewPagerAdapter? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_dhikr, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
loadViewPager()
}
private fun loadViewPager() {
viewPagerAdapter = DhikrViewPagerAdapter(this, previewDhikr, showingDhikrType, fontSize)
view_pager.adapter = viewPagerAdapter
}
}
class DhikrViewPagerAdapter(val fragment: Fragment,
private val previewDhikr: PreviewDhikr,
private val showingType: ShowingType,
private val fontSize: FontSize) : FragmentStateAdapter(fragment) {
var viewFragment: DhikrViewPagerFragment? = null
override fun getItemCount(): Int {
return previewDhikr.dhikrs.size
}
override fun createFragment(position: Int): Fragment {
viewFragment = DhikrViewPagerFragment(previewDhikr, showingType, fontSize, position)
return viewFragment!!
}
}