java - 如何在 ViewPager 中更新 TextView
问题描述
如何更新ViewPager2
kotlin 中的 TextView?
我试图在 ViewPager 中创建对我的 Fragment 的引用并以这种方式进行更改,但是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!!
}
}
解决方案
推荐阅读
- angular - 脱机时,角度 pwa 在本地 iis 上不起作用
- python - 在pygame中使背景横向移动
- mysql - SQL 练习:需要帮助
- ios - 为什么 SwiftObjects 不能与自动释放池块一起使用?
- web-services - 在 Hybris 中配置 Soap Web 服务的步骤。?
- java - 错误:不支持的方法:AndroidProject.getVariantNames()
- java - java中的引用是什么?
- c++ - C++ 在构造函数期间将“self”添加到地图中
- html - 固定位置到浮动框中
- c++ - 如何从 VBScript 获取值到我的 C++ 主机?