当前位置: 首页 > 知识库问答 >
问题:

显示不同的页脚布局在RecyclerView

司寇苗宣
2023-03-14

我想知道在RecyclerView中实现页脚的正确方法是什么,它可以用来显示不同的视图。下面是几个例子

  • 通过重新加载按钮查看网络错误。
  • 查看从服务器加载数据时的进度条。
  • 当没有更多可用数据时查看。
  • 等等。

我遇到了https://stackoverflow.com/a/29168617/371557,其中提到我必须重写getItemViewType并在onCreateViewHolder中膨胀不同的视图

我不明白的是,RecyclerView如何知道它必须请求哪种视图类型?如何强制RecyclerView显示ViewType?

共有1个答案

孔鹤龄
2023-03-14

RecyclerView是一个比listview更强大的新视图,你可以在这个视图中创建一个页脚,但这对我来说不是正确的方式。我建议创建一个包含回收视图的布局,并添加一个专用视图,如Snackbar或自定义页脚。

对于您的问题,RecyclerView知道使用getItemViewType(int positionItem)方法显示什么。

例如,如果位置6中的项目必须显示在列表中,getItemViewType返回onCreateViewHolder(ViewGroup viewGroup, int id)方法中的view id,并循环使用列表中已经使用的视图以节省内存。

(抱歉我的英语不好:)

 类似资料:
  • 在Xamarin中,我目前有两个不同的活动,我想将它们组合在一起并使用一个视页。 一个活动使用以下内容视图: 第二个活动使用以下内容视图: 提前致谢

  • 我有一个主报告和一个子报告,即main.jrxml和sub.jrxml,但存在以下问题: 在第二页上,当前页码不递增 在第二页及以后,标题和页眉没有完全删除 最后一页缺少免责声明和页码 在Jasper Studio中,并不总是为子报表重新生成 .Jasper文件,如何确保这是默认情况下总是重新生成的 对于TextField上的页码,我使用: msg(“第{0}页,共{1}页”,$V{V_CURRE

  • 在Android中,我需要将第二个页面滑动到另一个页面上。 布局1覆盖页面左侧的80%。布局2显示其余的20%。往右走。 然后我需要拖动/滑动布局2在布局1的顶部,并将其滑回。

  • 我们有一个内部网络应用程序,在登录时在IE 8中呈现罚款。但在chrome中,它显示的页面源如下: 尝试用开发者控制台调试。响应选项卡具有Chrome中显示的文本。HTTP响应标头具有: 内容类型的文本/平原是否导致此问题?想知道为什么它会在IE 8中渲染组件。火狐的行为和chrome一样。

  • 问题内容: 我试图使用此代码从我的主要活动中调用第二个活动 作为我的OrderSummaryActivity: 但是布局不会在此活动中显示,只是空白页。这是布局的xml: 有什么提示吗? 问题答案: 尝试将 OrderSummaryActivity.class 更改为:

  • 我正在将无边框按钮的概念应用到我正在开发的应用程序中。我可以编辑我的按钮完美到目前为止与以下问题的帮助: 如何创建标准的无边框按钮(如设计指南中提到的)? Android绘图分隔符/分隔符线布局? 但是现在我需要显示一个不同的背景图像,或者当按钮由于用户没有填写某些必填字段而未启用时需要强调的内容。 到目前为止,我的代码是: 现在,我打算在按钮的背景中放置一个带条纹的图像,以显示它何时被禁用。通过