android - 如何更新 ViewPager (Kotlin) 中片段的文本视图
问题描述
假设我在活动中有一个搜索栏来更改片段的 textview 字体大小。我应该通过什么方法?
我有一个活动。这包括一个视图寻呼机。视图寻呼机有一个寻呼机适配器。对于分页适配器中的每个项目,我们创建片段的新实例。当我拖动 SeekBar 时,我想将值传递到片段上。我已经应用了接口回调并传递了参数包。但是,在实现和测试方面,字体大小不会改变。
您能否告诉我将一个值从活动的搜索栏传递到寻呼机适配器中的片段的方法?
这是我的工作:
class ChapterActivity : AppCompatActivity() , ViewPager.OnPageChangeListener {
...
val listener = object : SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
val scaledSize = progress * 0.6 + minimumValue
println("scaledSize : $scaledSize" )
println("scaledSize : ${scaledSize.toFloat()}" )
//txt_chapter_content.setTextSize(TypedValue.COMPLEX_UNIT_DIP, scaledSize .toFloat() );
val prefs = getPreferences(Context.MODE_PRIVATE)
val ed = prefs.edit()
ed.putFloat("fontsize", scaledSize.toFloat())
ed.apply()
val myBundle = Bundle()
myBundle.putFloat("fontsize" , scaledSize.toFloat() )
mAboutDataListener!!.onDataReceived(scaledSize.toFloat())
}
override fun onStartTrackingTouch(seekBar: SeekBar?) {
}
override fun onStopTrackingTouch(seekBar: SeekBar?) {
}
}
chapterPagerAdapter = ChapterPagerAdapter(supportFragmentManager, chapters)
// Set the Adapter and the TabLayout forward the ViewPager
chapterViewPager.adapter = chapterPagerAdapter
chapterViewPager.addOnPageChangeListener(this);
分段:
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout forward this fragment
val view = inflater.inflate(com.books.learn.ddy.blinkist.R.layout.content_chapter, container, false)
val titleTextView = view.findViewById<TextView>(R.id.txt_chapter_title)
val contextTextView = view.findViewById<TextView>(R.id.txt_chapter_content)
contextTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, floatSize )
override fun onDataReceived(fontSize: Float) {
contextTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, fontSize );
}
解决方案
推荐阅读
- r - str_remove 到多行字符串的结尾
- tomcat - 多个 tomcat 实例更新 - 如何?
- processbuilder - 在 Java 6 中实现 `Process.waitFor(long timeout, TimeUnit unit)`
- c# - 将带有 iText7 的链接添加到 PDF 的页眉或页脚
- google-assistant-sdk - 使 Google Home 实时说话的最佳方法是什么
- sass - 特殊字符和 PurgeCSS 未按预期工作
- jquery - 无限滚动滑块,让DIV无限
- android - TextView 上的闪烁动画与文本同时更改
- php - 用php根据数组更新html页面
- java - 了解 java 11 动态类文件常量是什么