gpt4 book ai didi

android - 如何等待 ListAdapter.submitList() 执行并调用 RecyclerView.smoothScrollToPosition(0);

转载 作者:行者123 更新时间:2023-12-03 21:21:20 26 4
gpt4 key购买 nike

我有一个 RecyclerView recyclerView链接到 ListAdapter adapter . “列表”从 Firebase 数据库获取新数据,“列表”根据某些对象属性进行排序。然后我调用adapter.submitList(list)更新 recyclerView - 这非常有效!

但是,我希望 recyclerView 在添加新数据后滚动到列表顶部。但我看到 adapter.submitList(list)在单独的线程上运行。那么我将如何知道何时完成提交并调用 recyclerView.smoothScrollToPosition(0);
让我知道我是否应该提供更多详细信息。

最佳答案

ListAdapter 有另一个重载版本的 submitList() ListAdapter#submitList(@Nullable List<T> list, @Nullable final Runnable commitCallback)将第二个参数作为 Runnable。

根据文档:

The commit callback can be used to know when the List is committed, but note that it * may not be executed. If List B is submitted immediately after List A, and is * committed directly, the callback associated with List A will not be run.



用法:
    listAdapter.submitList(*your_new_list*, new Runnable() {
@Override
public void run() {
// do your stuff
}
});

关于android - 如何等待 ListAdapter.submitList() 执行并调用 RecyclerView.smoothScrollToPosition(0);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53731250/

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