有没有一种现有的方法可以监听RecyclerView项目的变化?

6

假设我有一个RecyclerView,当它从数据库加载数据时,我想做一些事情。我会像这样想:

recyclerView.setOnUpdateListener(new OnUpdateListener() {
            @Override
            public void onChanged() {
                //I do whatever I want
            }
        };

我看到的内容:

我看到了这个链接,但问题不是很清楚,答案也没有解释它在做什么。而且它很旧了。

我看到了这个,但还没有得到答案。


为什么?

因为我正在从数据库加载数据,并且希望在加载时显示进度圆圈,并在数据显示时取消它。

注意:我正在使用FirebaseRecyclerAdapter

1个回答

15

使用RecyclerView.AdapterDataObserver

像这样:

RecyclerView.Adapter adapter = ...
adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
    @Override
    public void onChanged() {
        //Do some task.
    }
});
recyclerView.setAdapter(adapter);

我需要添加所有这些被覆盖的方法吗?还是只需覆盖 onChanged 方法即可? - Ali Bdeir
RecyclerView.AdapterDataObserver 是一个抽象类。所以你只需要重写 onChanged 方法。我已经更新了我的回答。 - nshmura

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接