当我尝试更新子项目视图时(例如,将该子视图内的文本视图的字体设置为粗体),不可见子项目也被更新。例如,我的recyclerview中有8个项目,当我更新第一个子项目视图时,第7个子项目视图也更新。如何防止这一点?Recyclerview子项目
回答
onBindViewHolder(),你只需要更新指定的项目。然后,它会不会在recyclerview
检查
// the first item in the list
if(position == 0) {
textView.setTypeface(null, Typeface.BOLD);
}
嗨,我不明白你想说什么。视图在发生某些事件时更新。因此,如果在onBindViewHolder中执行此操作,则在发生事件之前将项目设置为BOLD。不是吗? –
不,当某些事件发生时,您调用'notifyDataSetChanged()'来更新视图。方法'onBindViewHolder()'将运行'recyclerview'中的所有项目。如果你只是想更新第一个项目(或另一个项目),你需要在'onBindViewHolder()''position'agurment中检查它。它是您的项目在列表中的位置 –
我更新了我的答案 –
在RecyclerView
第一个项目影响到另一个项目被回收,作为第七项。
所以如果你要设置的字体,然后根据条件
if(condition){
textview.setTypeFace(<font1>);
}else{
textview.setTypeFace(<font2>);
}
设置字体,如果它是常量,那么它设置一个特定条件时,乌尔initalizing个视图的第一次。
谢谢
- 1. Android从RecyclerView删除子项目
- 2. 在嵌套recyclerview,孩子recyclerview的GridLayoutManager.getChildCount()给出了总项目数
- 3. RecyclerView项目刷新
- 4. RecyclerView项目点击
- 5. RecyclerView混合项目
- 6. RecyclerView项目删除
- 7. 删除recyclerview项目
- 8. 滚动recyclerview项目
- 9. RecyclerView查看项目
- 10. RecyclerView项目Click count
- 11. 添加项目到RecyclerView从其他删除RecyclerView项目
- 12. Android RecyclerView获取子项
- 13. RecyclerView重复每个项目
- 14. 使用RecyclerView保存项目
- 15. 删除RecyclerView中的项目
- 16. ArrayList中的RecyclerView项目
- 17. Android RecyclerView项目序列号
- 18. 访问Recyclerview的Adapter项目
- 19. RecyclerView项目Click Click Listener
- 20. recyclerview的项目困惑
- 21. RecyclerView添加项目动画
- 22. RecyclerView项目扩展动画
- 23. 从RecyclerView中删除项目
- 24. android recyclerview项目点击
- 25. RecyclerView单击项目和SearchView
- 26. RecyclerView GridLayoutManager项目match_parent宽度
- 27. recyclerview不显示项目
- 28. Recyclerview意外的onclick项目
- 29. RecyclerView项目单击过渡
- 30. RecyclerView项目差距太大
您是否在您的适配器中添加了RecyclerView.ViewHolder? –
@SandeepKharat是 –
您能分享您的适配器代码以及更新功能的工作原理吗? – Cochi