用于聊天应用的 RecyclerView

2023-11-25

我正在构建一个聊天应用程序并使用 RecyclerView 呈现消息。由于这是一个聊天应用程序,因此最后一条消息应显示在列表底部。为了实现这一点,我通过以下方式使用 LinearManager:

    LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    layoutManager.setStackFromEnd(true);
    layoutManager.setSmoothScrollbarEnabled(false);

如果对话中有很多消息,它就可以正常工作。但是,如果用户之间只有一两条消息,RecyclerView 会将它们显示在屏幕底部,并在其上方放置空白。

在这种情况下,是否可以在屏幕顶部显示回收项目?


我创建一切正常并添加setStackFromEnd(true), setReverseLayout(true),并使用下面的方法将列表设置为底部,当它有很多itens时,recyclerview将从底部开始,否则即使它的itens少于屏幕大小,它也会从顶部显示评论。

//method will set the recyclerview to the end, in other words its going to the 
//end of the recyclerview, starting from the bottom.
//call scrollToBottom() after add your items in the adapter
public void scrollToBottom(){
    recyclerView.scrollVerticallyTo(0);
}

Java RecyclerView

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.activity_comments_recycler_view);
LinearLayoutManager manager = LinearLayoutManager(this);
manager.setStackFromEnd(true);          
manager.setReverseLayout(true);         
recyclerView.setLayoutManager(manager); 

RecyclerView XML

<RecyclerView
    android:id="@+id/activity_comments_recycler_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于聊天应用的 RecyclerView 的相关文章

  • Android 卷页动画

    我对 Android 动画有点陌生 目前我正在开发一个故事活动 需要像 iPhone 中那样使用卷页动画 我发现 iPhone 中有一种方法可以做到这一点 但我仍然找不到在android中做的方法 所以请帮我解决这个问题 谢谢大家 谷歌代码
  • PopupWindow onitemclick 中的 Android Listview 在某些设备上不起作用

    我的 ListView 在 PopupWindow 内 当我显示 PopupWindow 并单击设备 ASUS K00z 中的 Listview 行时 fonepad 工作得很好 但在 HTC Z715e 中不起作用 项目单击事件未触发 1
  • 将JSON数据解析到Android ListView中

    我已经潜伏这个网站很长一段时间了 幸运的是 到目前为止我所有的问题都得到了解答 我希望你们中的一些人能够阐明我的问题 我可以成功地让 ListView 来显示字符串数组 但是当我尝试将 JSON 数据解析为数组时 我的程序只是强制关闭 而
  • Facebook4j API:搜索

    我正在使用 Facebook4j 通过关键字获取状态 facebook4j conf ConfigurationBuilder fac new facebook4j conf ConfigurationBuilder fac setDebu
  • 使用busybox在后台安装apk

    我可以在 root 设备上使用 busybox 在后台安装 apk 吗 我看到类似的东西 但它不起作用 process install CommandCapture command new CommandCapture 0 chmod 77
  • Twowayview 滚动时自动添加内边距

    我在用双向视图 https github com lucasr twoway view在我的一个项目中 这是android的扩展回收者视图 https developer android com reference android supp
  • 如何在android中批量插入sqlite

    我正在使用 SQLiteOpenHelper 进行数据插入 我需要插入2500个id和2500个名字 所以花费了太多时间 请任何人帮助我如何减少插入时间 我们可以一次插入多条记录吗 任何人都可以帮助我 先感谢您 代码 public clas
  • 对话框片段嵌入取决于设备

    在我的应用程序中 用户从联系人或通话记录中选择电话号码 选择联系人非常简单 并且在手机和平 板电脑上都可以很好地工作 i e 在手机上会弹出新的全屏活动 在桌子上我会看到带有联系人列表的漂亮弹出对话框 似乎无法从通话记录中选择电话号码 因此
  • 当前版本的Android Gradle插件不支持按需配置

    升级到 Android Studio 3 1 2 后 出现以下错误 当前版本的 Android Gradle 插件不支持按需配置 因为您使用的是 Gradle 4 6 或更高版本 建议 通过在 gradle properties 文件中设置
  • 在新的菜单提供程序 API 弃用“setHasOptionsMenu”后,隐藏 Fragment 中的菜单项并在导航返回上再次显示它们

    大约一个月前 Android 团队弃用了onCreateOptionsMenu and onOptionsItemSelected 也setHasOptionsItemMenu 不幸的是 这破坏了我所有的代码 我的应用程序有很多片段 当用户
  • 如何在Android中访问现有的sqlite数据库?

    到目前为止 我们已经在 Android 中开发了在运行时创建数据库的应用程序 我们想知道如何在 Android 应用程序中访问预构建或现有的数据库 sqlite 文件 请提供详细信息 查看文档android database sqlite
  • 我如何从android中的复选框获取值

    我想获取复选框中所选项目的名称 但我只得到一些字母数字 如何从复选框中获取所选项目的名称 public View getView int position View convertView ViewGroup parent View vie
  • 有人可以给出一个 android 中 webview 实现的确切例子吗

    嗨 我正在使用开发 Android 应用程序WebView执行 我跟着官方安卓教程 http developer android com resources tutorials views hello webview html 在 Ecli
  • 该项目可能使用的 Gradle 版本不包含“compileSdkVersion()”方法

    当我尝试运行最初在 Eclipse ADT 上创建的项目时 我遇到了这个问题 Error 17 0 Gradle DSL method not found compileSdkVersion Possible causes ul li Th
  • Android OptionsMenu问题,背景始终透明

    我的选项菜单总是不显示背景 背景是透明的 有谁知道如何摆脱这个 我的失败起源活动是从另一个自定义活动扩展的 我在 eclipse 上有这个项目 选项菜单工作正常 但自从我迁移到 AndroidStudio 后 选项菜单始终是透明的 我尝试更
  • LinearLayout:防止最后一个孩子被之前的大文本视图推出或挤压

    我有一个LinearLayout里面有两个孩子 第一个是TextView对于动态内容 第二个是一个按钮 我的问题是按钮被推出其父级或被挤压到不再可见的程度 我想要TextView认识到其父母与第二个孩子一起没有更多空间 并开始新的一行 而不
  • 如何关闭导航抽屉以使用返回主页图标按钮?

    我也将操作栏与搜索栏一起使用 并且我需要像后退按钮一样使用 ActionBar ico 但我也在使用导航抽屉 如何关闭 隐藏 禁用导航抽屉菜单以使用后退按钮 我的 ActionBar 代码 Override public boolean o
  • 如何从图库动态卸载图像?

    我有自定义 ImageView public class ShadowedImageView extends ImageView private Paint mPaint public Bitmap bitmap null private
  • 如何检测日期选择器对话框的取消单击?

    我正在使用以下 日期选择器的示例 http developer android com guide tutorials views hello datepicker html http developer android com guide
  • Android Studio 中自动打开“运行设备”选项卡

    在 Android Studio Flamingo 中有一个名为跑步设备并且它会在每次之后自动打开运行应用程序 有办法禁止这个自动打开吗 我尝试禁用启用物理 Android 设备的镜像选项 但选项卡仍然自动打开 基于此issue https

随机推荐

  • 使用图像渲染 CSS3 内嵌阴影

    我想在我正在开发的网站上利用新的 CSS3 box shadow 功能 问题是 如果内部有 img 边框隐藏在图像区域周围 Chrome 9 0 5 和 Opera 10 无法正确渲染插入边框 我知道 box shadow 仍在进行中 但我
  • 添加分页 MVC 和 Azure 表存储

    我正在尝试将分页应用于我的 MVC 应用程序 我正在使用 Azure 表存储 这是我尝试过的 public List
  • VS2019:如何解决资源视图中的“未知子语言:0x8”消息?

    我最近开始在我的 C 11 项目中使用 Visual Studio 2019 VS2019 转换了该项目并将其编译为可执行文件 但我无法在资源查看器中打开我的资源 rc 文件 它给了我这个警告 此文件中的资源使用未知语言 中性 默认 未知子
  • 获取 UIPageViewController 当前索引的可靠方法

    我正在寻找一个reliable跟踪 UIPageViewController 当前索引的方法 这个问题是众所周知的 尽管 viewController 已正确呈现 但很难跟踪当前索引 我认为在 SO 社区中刷新这个主题会很好 因为由于某种原
  • 安装的模块为空

    我正在尝试使用setuptools对于 python3 代码 我的项目结构 testSetup testSetup testSetup testSetup testSetup foo py testSetup Setup py testSe
  • Pandas:基于另一列的一列的箱线图

    假设我有一个如下所示的数据框 my dataframe Age Group 0 31 A 1 24 A 2 25 A 3 36 A 4 50 NaN 5 27 A 6 49 A 7 24 A 8 63 A 9 25 A 10 65 A 11
  • Ruby 1.9.1 中的本机线程,对我来说有什么用处?

    所以 Ruby 现在是 1 9 1宣布稳定 Rails 应该可以与它一起工作 并且宝石正在慢慢地移植到它 它具有本机线程和全局解释器锁 GIL 由于 GIL 已到位 本机线程是否比 1 9 1 中的绿色线程提供任何优势 1 9 中的线程是本
  • Window.open 位置 =no 不起作用

    我需要在我的网络应用程序中创建一个弹出窗口来加载统一文件 为此 我使用 Javascript 的 Window Open 我不希望用户看到弹出窗口的 URL 或让他有机会更改 URL 根据这个链接 http javascript about
  • 我可以实现一系列可重用的测试来测试接口的实现吗?

    我正在用 C 编写一系列集合类 每个集合类都实现类似的自定义接口 是否可以为接口编写单个单元测试集合 并在多个不同的实现上自动运行它们 我想避免每个实现的任何重复的测试代码 我愿意研究任何框架 NUnit 等 或 Visual Studio
  • 在操作员期望的地方找到了裸字

    我是 Perl 新手 我正在摆弄 我在网上找到了这段代码 这是代码片段 82 process input q 83 process input n Task toptask Task set new threshold 84 process
  • 无状态编程的优点?

    我最近在学习函数式编程 特别是 Haskell 但我也学习了 Lisp 和 Erlang 的教程 虽然我发现这些概念非常有启发性 但我仍然没有看到 无副作用 概念的实际一面 它有哪些实际优点呢 我试图以函数式思维方式进行思考 但有些情况看起
  • iOS 10 的 Facebook 登录问题

    我使用 Facebook 登录我的应用程序 尝试使用 Facebook 登录iOS 10 iPhone模拟器6s canOpenURL failed for URL fbauth2 error The operation couldn t
  • Python 3项目转换成exe?

    我使用 Python 3 2 编写了第一个 Python 程序 现在我正在尝试弄清楚如何使其成为可执行文件 我几乎只需要它用于 Windows 我已经尽可能多地搜索并发现py2exe不支持Python 3 cxfreeze确实如此 但我不知
  • Hibernate 多对多:查找包含 B 类的所有 A 类的标准

    我有两个具有多对多关系的课程 我以 问题 和 标签 为例 以使案例更容易理解 对于每个问题 您都有几个标签 与标签相同 我想做的是 如果问题包含 hibernate 标签 则获取所有问题 及其相应的标签 我最多可以在多对多表中使用 SQLQ
  • 将子目录永久重置为特定的过去状态

    在 git 存储库中 我有一个子目录 我想将其重置为过去的特定状态 较早的提交 是否可以撤消对特定子目录中文件的所有提交 我认为没有提交同时对该子目录中的文件和位于其他地方的文件应用更改 但是 如果可以保留对不受影响的文件的提交 那就太好了
  • 有什么方法可以将 MS Office Smooth Typing 集成到 C# 应用程序中吗?

    在我看来 MS Office Smooth Typing 是 Office 套件中一项非常创新的功能 我想知道该功能是否适用于 NET Framework 中的程序员 特别是 C 语言中的程序员 如果是这样 您能否在您的答案中发布使用示例
  • 如何使用http在angular2中发出put请求?

    我正在开发这个 angular2 应用程序 并且正在执行 CRUD 操作 我有 http 可以制作get post要求 我想表演put现在正在操作 但找不到任何相关内容 有任何输入吗 Thanks 如果您已经熟悉POST then POST
  • 时间戳的计算公式是什么?

    只是一个随机问题 但有人知道如何计算时间戳的公式吗 我猜它必须考虑每个月 有多少天 闰年等 Thanks 如果您对实现感兴趣 这里大致介绍了如何计算 Windows 时间戳 也称为ticks public static Int64 GetT
  • Android 是否可以有多个 nav_graph 文件?

    所以我用的是Jetpack navigation并且碎片的数量不断增长 We can 不同导航图中的单独片段如本文档所述 jetpack 导航图文档 然后我尝试将不同的导航图放在不同的文件中 因为这感觉文件更有组织性和可读性 但当我尝试导航
  • 用于聊天应用的 RecyclerView

    我正在构建一个聊天应用程序并使用 RecyclerView 呈现消息 由于这是一个聊天应用程序 因此最后一条消息应显示在列表底部 为了实现这一点 我通过以下方式使用 LinearManager LinearLayoutManager lay