Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用SectionedRecyclerViewAdapter的RecyclerView仅显示第一个标题

使用SectionedRecyclerViewAdapter的RecyclerView仅显示第一个标题
EN

Stack Overflow用户
提问于 2020-04-24 12:41:01
回答 1查看 157关注 0票数 0

我使用来自luizgrp/SectionedRecyclerViewAdapter的SectionedRecyclerViewAdapter作为我的RecyclerView的适配器。但是只显示了第一个标题。不显示任何内容,第二个标题也不显示。有线索知道我哪里做错了吗?

我的RoundSection.kt如下所示

代码语言:javascript
运行
AI代码解释
复制
class RoundSection(private val title: String, private val items: List<Pair<RoundExercise, Exercise>>, sectionParameters: SectionParameters) : Section(sectionParameters) {
    override fun getContentItemsTotal(): Int = items.size

    override fun getItemViewHolder(view: View): RecyclerView.ViewHolder = ItemViewHolder(view)

    override fun onBindItemViewHolder(holder: RecyclerView.ViewHolder?, position: Int) {
        val itemViewHolder = holder as ItemViewHolder
        itemViewHolder.exerciseName.text = items[position].second.name
    }

    override fun getHeaderViewHolder(view: View): RecyclerView.ViewHolder = HeaderViewHolder(view)

    override fun onBindHeaderViewHolder(holder: RecyclerView.ViewHolder) {
        val headerViewHolder = holder as HeaderViewHolder
        headerViewHolder.roundHeader.text = title
    }

    internal class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val exerciseName: TextView = itemView.exerciseName
    }

    internal class HeaderViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val roundHeader: TextView = itemView.roundHeader
    }
}

我的fragment_workout_details.xml如下所示

代码语言:javascript
运行
AI代码解释
复制
class WorkoutDetailsFragment : Fragment(R.layout.fragment_workout_details) {
    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        val sectionParameters = SectionParameters.builder()
                .itemResourceId(R.layout.round_exercise_item)
                .headerResourceId(R.layout.round_header)
                .build()

        val sectionAdapter = SectionedRecyclerViewAdapter()
        roundRecyclerView.layoutManager = LinearLayoutManager(context)
        roundRecyclerView.adapter = sectionAdapter

        val exercise = Exercise("exercise name", "exercise desc", 0, 1)
        val roundExercise = RoundExercise(0, 1, 5, 0, 0, 0)
        sectionAdapter.addSection(RoundSection("Round 1", listOf(roundExercise to exercise), sectionParameters))

        val exercise1 = Exercise("exercise name1", "exercise desc1", 0, 2)
        val roundExercise1 = RoundExercise(0, 2, 5, 0, 0, 0)
        sectionAdapter.addSection(RoundSection("Round 2", listOf(roundExercise1 to exercise1), sectionParameters))
    }
}

我的fragment_workout_details.xml如下所示

代码语言:javascript
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp"
    tools:context=".ui.WorkoutDetailsFragment">

    <TextView
        android:id="@+id/workoutName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/workout_name_workout_details_fragment"
        android:textAppearance="@style/TextAppearance.AppCompat.Large" />

    <TextView
        android:id="@+id/workoutDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/workout_description_workout_details_fragment"
        app:layout_constraintTop_toBottomOf="@+id/workoutName" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/roundRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toBottomOf="@+id/workoutDescription" />

</androidx.constraintlayout.widget.ConstraintLayout>

我的round_header.xml如下所示

代码语言:javascript
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="8dp">

    <TextView
        android:id="@+id/roundHeader"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:text="Row Header Name"
        android:textAppearance="@style/TextAppearance.AppCompat.Large" />

</RelativeLayout>

我的round_exercise_item.xml如下所示

代码语言:javascript
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="8dp">

    <TextView
        android:id="@+id/exerciseName"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:text="Exercise Name"
        android:textAppearance="@style/TextAppearance.AppCompat.Large" />

</RelativeLayout>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-25 14:56:42

round_header.xmlround_exercise_item.xml上设置android:layout_height="match_parent"解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61408588

复制
相关文章
RecyclerView的item宽度不能全屏显示
错误写法: @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(mContext).inflate(R.layout.item_complain_list, null, false); view.setOnClickListener(this); return new ViewHo
yechaoa
2022/06/10
9380
Android的RecyclerView不规则Grid显示
前面我们有介绍RecyclerView的使用,详见《Android中RecyclerView嵌套RecyclerView》,这一篇我们来讲讲RecyclerView的不规则Grid显示。
Vaccae
2019/07/25
2.6K0
RecyclerView使用_recyclerview是什么
RecyclerView是官方在5.0之后新添加的控件,推出用来替代传统的ListView和GridView列表控件。
全栈程序员站长
2022/11/01
1.3K0
RecyclerView使用_recyclerview是什么
RecyclerView | 在 RecyclerView 中使用 ListAdapter
本文是介绍 RecyclerView 入门 系列文章 的第二篇。如果您已经对创建 RecyclerView 有了一定的认识,请继续阅读本文。如果尚未熟悉,建议您首先阅读本系列中的 第一篇文章。
Android 开发者
2022/03/09
1.5K0
RecyclerView | 在 RecyclerView 中使用 ListAdapter
【Android】RecyclerView的使用
前言 RecyclerVie出来已经有一段时间了,它是Google在 2014 年 10 月推出Android5.0的时候推出了MaterialDesign,而RecyclerView是MaterialDesign重要组件之一,用来替代ListView和GridView。 相信还有一部分同学还在使用ListView和GridView(我前一段时间还在用),从现在开始,让我们跟他们说拜拜,开始体验RecyclerView。 优点 他可以通过设置LayoutManager来快速实现listview、gridv
Gavin-ZYX
2018/05/18
1.2K0
Android解决RecyclerView中的item显示不全方案
最近的项目中实现订单确定页面。需要使用ScrollView嵌套RecyclerView,当RecyclerView中的item数量比较多时,就会出现item只显示一部分数据,并没有将用户勾选的商品数量全部显示出来,这个时候就需要我们做一下处理了。
SoullessCoder
2019/08/07
8K0
Android解决RecyclerView中的item显示不全方案
最近的项目中实现订单确定页面。需要使用ScrollView嵌套RecyclerView,当RecyclerView中的item数量比较多时,就会出现item只显示一部分数据,并没有将用户勾选的商品数量全部显示出来,这个时候就需要我们做一下处理了。
SoullessCoder
2021/09/07
2.9K0
RecyclerView使用记录
随着公司自用app客户端功能&需求越来越复杂,某些页面的布局也越来越复杂。在前同事的建议下,使用RecyclerView来实现。
Ant丶
2022/03/01
4930
RecyclerView使用记录
Android RecyclerView组件的使用
官方介绍 RecyclerView是ListView的一个更高级、更灵活的版本。RecyclerView组件是为大量的视图组件提供的一种容器,使得它们可以有效的在其中循环和滚动。 RecyclerView is a more advanced and flexible version of ListView. This widget is a container for large sets of views that can be recycled and scrolled very efficientl
泰坦HW
2021/09/08
3.9K0
使用RecyclerView的几个笔记
方法一:重写RecyclerView.ItemDecoration 在getItemOffsets方法中设置传入的值
项勇
2019/12/23
7250
RecyclerView 使用总结
自定义类继承 RecyclerView.ItemDecoration,重写回调方法
三流之路
2018/09/11
3.5K0
如何让置顶文章只显示标题不显示摘要
    本方法来源于论坛hackhp之手,用5.3.1测试正常显示,如有疑问可下面留言。
用户8099761
2023/05/10
5360
Android TabLayout设置setupWithViewPager标题不显示
在设置setupWithViewPager后标题没有如愿的显示出来,其实是Tablayout调用viewpager的getTItle方法的时候导致没有数据展示出来,源码:
全栈程序员站长
2021/06/21
1.1K0
Echarts统计图标题居中显示
title: { text: '健康人数统计', // subtext:'', x: 'center', y: '7px', textStyle: { color: '#3A7BD5',
王小婷
2020/11/24
4.2K0
Echarts统计图标题居中显示
Typecho 文章加密显示标题插件 Titleshow
关于 Typecho文章密码保护显示标题 ,目前相关插件比较少,都是修改typecho源码,Titleshow就是一款加密文章但并且还会显示标题的插件
梦溪
2021/08/09
1.2K0
Android之RecyclerView的StaggeredGridLayoutManager使用
StaggeredGridLayoutManager(瀑布流布局效果),是配合RecyclerView使用的。
李小白是一只喵
2020/12/07
4K0
Android之RecyclerView的StaggeredGridLayoutManager使用
Android RecyclerView使用简述
  RecyclerView是Android中非常受欢迎的控件,RecyclerView是官方在Android5.0之后新添加的控件,推出用来替代传统的ListView和GridView列表控件,所以如果你还在使用ListView的话可以替换为RecyclerView了。
晨曦_LLW
2022/10/05
2.4K1
Android RecyclerView使用简述
如何使用Excel将某几列有值的标题显示到新列中
如果我们有好几列有内容,而我们希望在新列中将有内容的列的标题显示出来,那么我们怎么做呢?
繁华是客
2023/03/03
11.6K0
【RecyclerView】二、RecyclerView 简介 ( RecyclerView 特点 | RecyclerView 涉及到的类 )
RecyclerView 是 Google 官方提供的任何 基于适配器显示的视图 , 可以实现普通列表 ( ListView ) , 网格列表 ( GridView ) , 瀑布流 , 以及各种自定义形式的多容器布局 ;
韩曙亮
2023/03/28
5.3K0
点击加载更多

相似问题

RecyclerView仅显示第一个数组索引

10

RecyclerView仅显示习惯数组中的第一个元素

28

RecyclerView仅显示一项

30

RecyclerView仅显示一项

117

RecyclerView仅显示28个项目

19
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文