如何知道何时在自定义 RecyclerView 中加载数据?
How to know when data is loaded inside custom RecyclerView?
我正在我的应用程序中创建和使用自定义 RecyclerView。在 class 字段中保存第一项宽度之前,我需要先调用 getChildAt(0).getWidth()
。为此,我需要在适配器中加载数据时进行捕捉(否则 getChildAt(0) 将 returns null)。
如何在自定义 RecyclerView 中捕获数据加载事件?
RecyclerView 已经在调用 registerAdapterDataObserver
并且它在提供的适配器上取消注册对应项。
这个观察者有几个回调让 Recycler 知道何时添加、删除或更改数据。你应该利用这些。
此外,适配器更改数据的那一刻与视图 created/layout 出现在屏幕上的那一刻不同。当子级已在屏幕上布局时,您可能必须调用 getViewTreeObserver().addOnGlobalLayoutListener
才能收到回调。
希望对您有所帮助,编码愉快。
我正在我的应用程序中创建和使用自定义 RecyclerView。在 class 字段中保存第一项宽度之前,我需要先调用 getChildAt(0).getWidth()
。为此,我需要在适配器中加载数据时进行捕捉(否则 getChildAt(0) 将 returns null)。
如何在自定义 RecyclerView 中捕获数据加载事件?
RecyclerView 已经在调用 registerAdapterDataObserver
并且它在提供的适配器上取消注册对应项。
这个观察者有几个回调让 Recycler 知道何时添加、删除或更改数据。你应该利用这些。
此外,适配器更改数据的那一刻与视图 created/layout 出现在屏幕上的那一刻不同。当子级已在屏幕上布局时,您可能必须调用 getViewTreeObserver().addOnGlobalLayoutListener
才能收到回调。
希望对您有所帮助,编码愉快。