Mis*_*hmo 6 android android-viewholder android-recyclerview
我有主要的RecyclerView,其中包含其他RecyclerViews(我们称之为subRecyclerViews).subRecyclerViews的数量基于从服务器接收的数据.问题是,每当subRecyclerView即将变为可见时,它会立即为其所有项创建ViewHolders(而不是仅为可见项创建ViewHolders).
在我调用的MainRecyclerViewAdapter onBindViewHolder()方法中
subRecyclerViewAdapter.setData(data);
subRecyclerView.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)
这导致延迟,因为subRecyclerView为其所有项调用onCreateViewHolder()和onBindViewHolder()方法.
我使用的RecyclerView版本是
com.android.support:recyclerview-v7:25.1.1
Run Code Online (Sandbox Code Playgroud)
问题是,有没有办法告诉subRecyclerView它不需要为尚未可见的项创建ViewHolders?此外,这是RecyclerView中的错误还是我做错了什么?
如今,一种解决方案是使用带有ConcatAdapter的 recyclerView,而不是使用“subRecyclerViews”
val firstAdapter: FirstAdapter
val secondAdapter: SecondAdapter
val thirdAdapter: ThirdAdapter
val concatAdapter = ConcatAdapter(firstAdapter, secondAdapter,
thirdAdapter)
recyclerView.adapter = concatAdapter
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
773 次 |
| 最近记录: |