【发布时间】:2020-08-24 18:24:54
【问题描述】:
我正在开发一个需要在 recyclerView 中显示 recyclerView 的应用程序。 现在,recyclerView 内部的 recyclerView 是基于条件的。如果我们有 innerRecyclerView 的数据,那么我们只需要显示它,否则不需要显示它。
这里我面临的问题如下:
在第一个位置,我采用了显示/隐藏内部recyclerView的条件,
然后在休息状态下,主 recyclerView 正在正确加载数据。
现在在recyclerView的第0个位置,如果我在那里显示innerRecyclerView,那么主外部recyclerView的第一个位置将加载ArrayList第一个位置的数据,而它应该从ArrayList的第0个位置开始。 所以这里跳过了 ArrayList 中的第 0 个数据,并从 recyclerView 的第 1 个位置加载数据。
有没有办法从recyclerView第1个位置的ArrayList中加载第0个数据?
代码的逻辑是这样的:
@Override
public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder viewHolder, final int position) {
if (viewHolder instanceof HomeViewHolder) {
if(position == 0} {
// Data for the innerRecyclerView is available:
if(recentList.size() > 0 ) {
// Show innerRecyclerView..
// Load data for the inner recyclerview.
} else {
// Hide the inner recyclerView..
}
} else {
// Load the data for the outer recyclerView with the rest of the position..
// If we are showing the innerRecyclerView then it will start only loading the data from the position 1 from the array list..
}
}
}
请考虑以下屏幕设计:
如果您对此问题有任何疑问,请告诉我。
【问题讨论】:
标签: android arraylist android-recyclerview nestedrecyclerview