(android) setAdapter() 应该只在第一次调用吗?
(android) Should setAdapter() be called only the first time?
这不是代码问题。
正如我在某些网站上看到的那样,RecyclerView 的 setAdapter 第一次应该 运行 只有一次。
这是什么原因?
如果是这样,在 Nested RecyclerView 中,这个视频的人一直在调用
每次回收Sub RecyclerView的setAdapter()在
onBindViewHolder(),是不是错了??
https://www.youtube.com/watch?v=EyUjw6b5gXE
已添加
不,我认为他是对的。让我们看看视频中提出的逻辑。您有 parent
个包含 child
个项目的列表。据我所知,这是普通情况。但是 parent
列表中的每个 child
项都是其列表的 parent
项,它存储在 parent
列表的 child
项中。因此,当您在 parent
列表的容器内调用 setAdapter()
时,您将数据发送到它的 children
和它们的 children
那么 onBindViewHolder()
呢,为什么 setAdapter
每次都被调用?很简单,让我们看看documentation:
RecyclerView calls this method to associate a ViewHolder with data.
The method fetches the appropriate data and uses the data to fill in
the view holder's layout. For example, if the RecyclerView displays a
list of names, the method might find the appropriate name in the list
and fill in the view holder's TextView widget.
因此,当您为第一级 RV 发送数据时,您将子 RV 与某些数据相关联,您为此目的在 parent
列表的每个项目中调用 setAdapter
。因此它将在 parent
列表项的每个位置调用以将数据分配给 child
列表,该列表也将有一些数据持有者对其进行处理。让我们看看生活例子:
grandfather (activity) bought some candies for his children (first level list items) who will give some of them to their children (second level lists which are items of first level list items)
为了在亲戚之间传递糖果,我们使用 setAdapter()
方法 :) 我希望我解释了你的问题,你会理解这个视频 :D
这不是代码问题。
正如我在某些网站上看到的那样,RecyclerView 的 setAdapter 第一次应该 运行 只有一次。
这是什么原因?
如果是这样,在 Nested RecyclerView 中,这个视频的人一直在调用
每次回收Sub RecyclerView的setAdapter()在
onBindViewHolder(),是不是错了??
https://www.youtube.com/watch?v=EyUjw6b5gXE
已添加
不,我认为他是对的。让我们看看视频中提出的逻辑。您有 parent
个包含 child
个项目的列表。据我所知,这是普通情况。但是 parent
列表中的每个 child
项都是其列表的 parent
项,它存储在 parent
列表的 child
项中。因此,当您在 parent
列表的容器内调用 setAdapter()
时,您将数据发送到它的 children
和它们的 children
那么 onBindViewHolder()
呢,为什么 setAdapter
每次都被调用?很简单,让我们看看documentation:
RecyclerView calls this method to associate a ViewHolder with data. The method fetches the appropriate data and uses the data to fill in the view holder's layout. For example, if the RecyclerView displays a list of names, the method might find the appropriate name in the list and fill in the view holder's TextView widget.
因此,当您为第一级 RV 发送数据时,您将子 RV 与某些数据相关联,您为此目的在 parent
列表的每个项目中调用 setAdapter
。因此它将在 parent
列表项的每个位置调用以将数据分配给 child
列表,该列表也将有一些数据持有者对其进行处理。让我们看看生活例子:
grandfather (activity) bought some candies for his children (first level list items) who will give some of them to their children (second level lists which are items of first level list items)
为了在亲戚之间传递糖果,我们使用 setAdapter()
方法 :) 我希望我解释了你的问题,你会理解这个视频 :D