首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在我从API加载数据时,是否有任何方法可以在不闪烁的情况下重新加载回收查看项目?

在我从API加载数据时,是否有任何方法可以在不闪烁的情况下重新加载回收查看项目?
EN

Stack Overflow用户
提问于 2022-07-05 06:20:48
回答 1查看 57关注 0票数 0

在我的Adapter类(AnyListAdapter.kt)中,我使用API加载数据,但是每次我对特定项目执行操作时,我的回收视图列表都会清除,然后再从API加载数据。我要做的是:

  • 当我在回收视图中对物品执行一个动作时,就会重新加载整个列表,并在没有闪烁或波动的情况下得到更新。
  • 我不想清除我的列表,并再次加载它,我想重新加载它与你显示。

有人能帮忙吗?我被困在这,找不到任何灵魂。

代码语言:javascript
运行
复制
onButtonClickListner{
ClassPerformActionOnItem()
}

fun classPerformActionOnItem(){
//Performing my action on item
//image visiblity,text visibility etc.
item.clear()  
CallAPI()
}

上面的代码片段就是我正在做的事情的例子。是否有任何方法来重新加载项目,而不清除,并再次显示,因为它是闪烁的效果。

EN

回答 1

Stack Overflow用户

发布于 2022-07-05 08:17:03

不要在item.clear()内部调用classPerformActionOnItem。等待API调用完成,一旦真正完成,就替换这些项。

这应该会改善你的情况,但它可能不会完全解决问题。

要完全解决这个问题,请将RecyclerView适配器转换为ListAdapter

ListAdapter是一种特殊的RecyclerView.Adapter,它检查一组数据和另一组数据之间的差异。它可以自动动画在RecyclerView中的变化,通过动画项目,出,并移动他们周围。

请参阅本指南中的实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72864772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档