android - 从 Fragment 调用 viewHolder 方法
问题描述
我在 Fragment 中使用 recyclerview。在滚动更改时,我想在适配器的视图持有者中调用一个方法。如何获取视图持有者实例。
recyclerview_home_view.apply {
val config = resources.configuration
layoutManager = LinearLayoutManager(context).apply {
orientation = HORIZONTAL
when {
config.layoutDirection == View.LAYOUT_DIRECTION_RTL -> {
reverseLayout = true
page_indicator.layoutDirection = View.LAYOUT_DIRECTION_LTR
}
}
}
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
(layoutManager as LinearLayoutManager).apply {
// I want to call the view holder method from here
}
}
解决方案
你不应该打电话给viewholder。相反,您应该修改数据并使用 notifydatasetchanged() 通知数据已更改。
推荐阅读
- python - 如何获取由 subprocess.run 启动的进程的 pid 并杀死它
- salesforce - “更新插入的字段无效,必须是外部 ID 自定义或标准索引字段:名称”错误
- python-3.x - Python:类型继承而不重载同名方法?
- python - 范围函数在创建 ndarray 时如何工作?
- html - 单击以进行 Web 开发后,如何在显示之前等待图像和段落
- android - 夜间模式需要sqlite吗?
- c++ - 错误地在 C++ 中声明数组,如数组 [1-00],但代码仍然有效,输出不正确?
- reactjs - 如何使用 react-moment 为语言环境设置日期?
- ember.js - EmberJS 在 application.hbs 中显示路由器模型
- c# - 从 Start.Process 重定向输出