當我嘗試更新子項目視圖時(例如,將該子視圖內的文本視圖的字體設置爲粗體),不可見子項目也被更新。例如,我的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項目Click count
- 4. RecyclerView混合項目
- 5. 滾動recyclerview項目
- 6. RecyclerView項目刪除
- 7. RecyclerView查看項目
- 8. 刪除recyclerview項目
- 9. RecyclerView項目點擊
- 10. RecyclerView項目刷新
- 11. 添加項目到RecyclerView從其他刪除RecyclerView項目
- 12. Android RecyclerView獲取子項
- 13. RecyclerView重複每個項目
- 14. android recyclerview項目點擊
- 15. RecyclerView內的YouTubePlayerView項目
- 16. RecyclerView沒有填充項目
- 17. Android RecyclerView不更新項目
- 18. 在RecyclerView中可見項目
- 19. RecyclerView項目wrap_content寬度
- 20. RecyclerView項目Click Click Listener
- 21. RecyclerView多次添加項目
- 22. Recyclerview意外的onclick項目
- 23. 刪除RecyclerView中的項目
- 24. RecyclerView單擊項目和SearchView
- 25. 從RecyclerView中刪除項目
- 26. Android RecyclerView項目序列號
- 27. recyclerview不顯示項目
- 28. RecyclerView添加項目動畫
- 29. RecyclerView定期更新項目
- 30. 從RecyclerView GridLayout刪除項目
您是否在您的適配器中添加了RecyclerView.ViewHolder? –
@SandeepKharat是 –
您能分享您的適配器代碼以及更新功能的工作原理嗎? – Cochi