【问题标题】:How to load the 0th data from the arraylist on recyclerView from the 1st position of adapter if using nested recyclerView?如果使用嵌套的recyclerView,如何从适配器的第一个位置加载recyclerView上的arraylist中的第0个数据?
【发布时间】: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


    【解决方案1】:

    因此,您只需要在第 0 个位置显示 innerRecyclerview。为什么不直接将 innerRecyclerview 移出 outerRecyclerview?

    当您在 outterRecylerview 顶部有 innerRecylcerview 堆栈时。你可以这样做:

    让我们调用 outterlist = mainList 和 innerList = Horizo​​ntalList

    例如,您有一个 mainList 填充了 outerRecyclerview。现在 你需要做的就是

    if(!mainList.isEmpty()){
       if(MainList.get(0) == "the condition"){
     // show the horizontal recylcerview stuff.
       } else { // hide the horizontal recyclerview }
    }
    // continue on to setup the mainRecylerview
    

    这将帮助您避免混乱的代码。

    【讨论】:

    • 在这种情况下,我需要使用主外部 recyclerView 滚动我的内部 recyclerView。那么有什么方法可以用我的外部 recyclerView 滚动我的内部 recyclerView 吗?
    • 我不确定这意味着什么?也许你可以解释为什么你需要用主要的外部滚动内部回收器视图?
    猜你喜欢
    • 2020-12-12
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 2019-05-10
    相关资源
    最近更新 更多