Android RecycleView嵌套RecycleView

作者: Kepler_II | 来源:发表于2021-02-05 20:57 被阅读0次

    在使用RecycleView嵌套RecycleView时,可能会发生子RecycleView高度显示不对问题。

    注意修改下面几处,在父Adapter的父布局

    @NonNull
        @Override
        public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
                LayoutInflater.from(context).inflate(R.layout.item_fathe_have_children, null, false);
                return new Holder(view);
     
            }
        }
    

    被嵌套的RecycleView,即子RecycleView 的Adapter的

    @NonNull
        @Override
        public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
     
                View view = LayoutInflater.from(context).inflate(R.layout.item_child_item, viewGroup, false);
                return new Holder(view);
            }
        }
    

    在父RecycleView 的LinearLayoutManager设置,一定要注意是父RecycleView

    LinearLayoutManager layoutManager = new LinearLayoutManager(getContext()) {
                @Override
                public RecyclerView.LayoutParams generateDefaultLayoutParams() {
                    return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                            ViewGroup.LayoutParams.WRAP_CONTENT);
                }
            };
            layoutManager.setAutoMeasureEnabled(true);
            layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
            recycler.setLayoutManager(layoutManager);
    

    同时,注意,子RecycleView在xml文件里的高度设置是wrap_content。

    本文在开源项目:https://github.com/Android-Alvin/Android-LearningNotes 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...

    相关文章

      网友评论

        本文标题:Android RecycleView嵌套RecycleView

        本文链接:https://www.haomeiwen.com/subject/ixbgtltx.html