gpt4 book ai didi

Android RecyclerView 重载activity更新数据vs notifyDataSetChanged效率?

转载 作者:搜寻专家 更新时间:2023-11-01 09:19:56 24 4
gpt4 key购买 nike

我有一个 Activity ,在 onCreate 中调用 API 并使用产品名称、当前库存和 EditText 填充 RecyclerView 以插入每个产品的值。

然后您可以点击 Activity 顶部的添加或减去按钮,所有具有插入值的产品都将通过 API 根据给定值更新数据库中的库存。

我没有将屏幕上的库存值传递给 API(因为其他用户可能同时更改了它),只是传递了插入的值、产品 ID 以及是否增加/减少数据库值。

目前,在我发送更新请求并成功后,我调用 finish() 并重新加载 Activity 以获取更新的数据。

我想知道在更新请求之后对数据进行 API 调用然后只更新 RecyclerView 是否会更好,这几乎是 onCreate 的重复代码但会阻止重新加载 Activity 。

有没有人知道这与重新加载 Activity 的效率有什么不同?似乎重新加载将是效率更低的选择,但我不太确定。

最佳答案

假设在你的 onCreate 方法中你有这样的东西:

onCreate() {
setContentView(xx);
callApiGetDataAndSetDataToRecyclerView();
}

如果是这样,请尝试更改下面的代码在我发送更新请求并且它成功之后:

doAfterUpdateRequestSuccessful() {
List<Object> latestData = callApiGetData() // this should not be in the ui thread, I believe you are clear about it but just want to repeat
recyclerViewAdapter.setData(latestData);
recyclerViewAdapter.notifyDataSetChanged();
}

然后您的回收站 View 将更新为最新数据。

就像@ADM 的评论一样,finishrecreate Activity 永远不是更新回收站 View 的解决方案,用户体验会非常糟糕。

关于Android RecyclerView 重载activity更新数据vs notifyDataSetChanged效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57000142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com