RecyclerView 仅显示 Firebase 中的一项

2024-07-04

我知道关于这个问题的疑问很少。但他们都没有解决我的问题,特别是我的代码是用 Kotlin 编写的,并且是新的Fragments。不要急于说我的问题是重复的。

我的问题正是标题所说的,我的RecyclerView仅填充了来自的一项(子项)Firebase in my Fragment.

Adapter:

class NewsList(private val userList: List<News>) : RecyclerView.Adapter<NewsList.ViewHolder>() {

private val Context = this

override fun onBindViewHolder(p0: ViewHolder?, p1: Int) {
    val news: News = userList[p1]
    p0?.mesajTextView?.text = news.text
    val time = news.time
    val getTimeAgo = GetTimeAgo()
    val lastMsg = getTimeAgo.getTimeAgo(time, Context)
    p0?.timeNewsTextView!!.text = lastMsg
}

override fun onCreateViewHolder(p0: ViewGroup?, p1: Int): ViewHolder {
    val v = LayoutInflater.from(p0?.context).inflate(R.layout.news_layout, p0, false)
    return ViewHolder(v)
}

override fun getItemCount(): Int {
    return userList.size
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
    val mesajTextView = itemView.findViewById(R.id.mesajTextView) as TextView
    val timeNewsTextView = itemView.findViewById(R.id.timeNewsTextView) as TextView
}
}

我的片段中填充了 RecyclerView:

 override fun onActivityCreated(savedInstanceState: Bundle?) {

      newsRecyclerView.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
   }




  private fun populalteQuestionsList() {
        val mChatDatabaseReference = FirebaseDatabase.getInstance().reference.child(Constants.NEWS)
        mListenerPopulateList = mChatDatabaseReference.addValueEventListener(object : ValueEventListener {
            override fun onDataChange(dataSnapshot: DataSnapshot) {
                for (convSnapshot in dataSnapshot.children) {
                    val  news = ArrayList<News>()
                    val conv = convSnapshot.getValue(News::class.java)
                    news.add(conv!!)
                    val adapter = NewsList(news)
                    newsRecyclerView!!.adapter = adapter
                    adapter.notifyDataSetChanged()
                }
            }
            override fun onCancelled(databaseError: DatabaseError) {

            }
        })
        mChatDatabaseReference.addListenerForSingleValueEvent(mListenerPopulateList)
    }

项目布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

    <android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:id="@+id/card_view"
        android:layout_gravity="center"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        card_view:cardCornerRadius="2dp"
        card_view:contentPadding="10dp"
        card_view:cardElevation="10dp">

        <RelativeLayout
            android:id="@+id/relativeLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="10dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp">

            <TextView
                android:id="@+id/mesajTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:layout_marginStart="64dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                tools:text="Mesaj" />

            <TextView
                android:id="@+id/timeNewsTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginEnd="16dp"
                android:layout_marginTop="4dp"
                android:maxLength="15"
                android:maxLines="1"
                android:textAppearance="?android:attr/textAppearanceSmall"
                tools:text="14:20" />
        </RelativeLayout>

    </android.support.v7.widget.CardView>
</LinearLayout>

希望您理解,请帮助我,我真的需要完成这个应用程序。


您正在创建新列表,其中循环中包含单个元素并将其传递给适配器,因此它只有一个元素可显示

移动这个外循环

 val adapter = NewsList(news)
 newsRecyclerView!!.adapter = adapter
 adapter.notifyDataSetChanged()

并在外部初始化列表for loop


 val  news = ArrayList<News>()
 for (convSnapshot in dataSnapshot.children) {
     val conv = convSnapshot.getValue(News::class.java)
     news.add(conv!!)
  }
 val adapter = NewsList(news)
 newsRecyclerView!!.adapter = adapter
 adapter.notifyDataSetChanged()

Note : fill_parent已被弃用,所以我们match_parent

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

RecyclerView 仅显示 Firebase 中的一项 的相关文章

  • 在对话框前面显示小吃栏

    我使用以下方法来展示SnackBar在我的应用程序中 public static void showSnackBar String msg View view Snackbar snackbar Snackbar make view msg
  • 如何处理单个 Activity 的多个 Fragment

    我最近开始考虑为我的 Android 设备开发应用程序 我产生这种兴趣的原因是我在玩几个arduinos时想到了一个好主意 让它们与我的手机进行通信 就像我在arduino本身上测量的任何值的接口一样 现在 我可以采取简单的方法并使用公共资
  • 如何在Android 10及更高版本中通过intent MediaStore.ACTION_IMAGE_CAPTURE获取图像URI

    对于版主 我知道已经存在这样的问题 但所有这些方法最终都会通过提供位图data getExtra data 这实际上只是thumbnail 我想要获取 URI 而不是位图 并且我需要获取实际图像的 URI 而不是其缩略图 方法可在2021
  • 禁用 ListView 上的波纹

    在 Android 5 0 中 我的 ListView 在单击列表项时会产生连锁反应 有没有办法禁用这个效果 查看文档 我没有看到任何方法 https developer android com reference android widg
  • 使用带有离子和电容器的 https 加载 webview

    我正在尝试构建一个必须加载的 apkhttps mydomain https mydomain与离子4和电容器 在 Capacitor config json 中 我精确了这个字段 server hostname mydomain 因为我在
  • 无法更新firebase版本[重复]

    这个问题在这里已经有答案了 C Users Kashish gt npm install g firebase tools npm WARN optional SKIPPING OPTIONAL DEPENDENCY timed out 4
  • 为什么我无法将文件上传到 Firebase Storage

    我正在尝试将 jpg 文件上传到 Firebase 存储 这是我的问题 fun sharePost view View val uuid UUID randomUUID val uniqueImgName uuid jpg val imgR
  • Android 变量 OnClick 监听器

    有没有一种方法可以为许多按钮提供 1 个 onClick Lister 我可以在其中抛出一个 case 语句来根据单击的按钮执行操作 我知道我可以为 100 个按钮创建 100 个不同的侦听器 但我必须认为我可以创建一些漂亮的变量来用更少的
  • 集合组查询中 firestore 单个字段索引的 JSON 格式是什么?

    我们现在可以从集合组中检索文档 这很棒 为此 我需要通过 Firebase 控制台上的错误消息创建索引 如何将此新索引添加到 firestore indexes json 文件中 的例子文档 https firebase google co
  • 从用户操作中禁用整个活动

    有没有一种简单的方法来禁用用户与活动交互 当有一个操作正在运行时执行 并且标题栏中有一个旋转的进度条 编辑 看来我还不够清楚 我的意思是 虽然我已经有一个旋转的进度条 但用户仍然可以按活动上的任何按钮 我想禁止用户在任务正在运行 然而 我不
  • 在 Xamarin.Forms 中添加方向更改布局

    我需要实现的是 在将屏幕从纵向更改为横向时向现有页面添加布局 我已经成功地使用检测方向变化void OnSizeAllocation 双倍宽度 双倍高度 但我无法为此事件添加布局 我的示例 C 代码是 public class MyLayo
  • 读取 NFC 标签时出现奇怪的字符

    我正在尝试使用 Android 读取 NFC 标签 我是一名养蜂人 这是为了在我接近蜂巢时识别它们 我已经在这里搜索过 但阅读标签时仍然遇到问题 我想阅读文本 但是当它阅读时 在所需文本之前有一个类似正方形的字符和显示为 十 的字符 这是我
  • 让 Android 源中的应用程序编译到 system/app 而不是 data/app 中?

    我正在从源代码编译 Android ROM 并且我有几个可以编译的应用程序 但会编译到手机上的数据 应用程序中 它们可以通过手机设置卸载 我希望它们不可能从手机中卸载 并编译到系统 应用程序而不是数据 应用程序中 有什么建议吗 编辑 错别字
  • 如何使用生产存储桶数据启动 Firebase 存储模拟器?

    我正在使用 Firebase 模拟器来运行所有 Firebase 服务 我已成功通过运行以下命令来运行模拟器并备份 Firestore 数据 firebase emulators start import my directory 但我找不
  • 具有 EditText 材质设计的工具栏

    我正在尝试制作带有 EditText 的工具栏 如下所示 现在我可以做一些类似的事情 但只能使用静态标题 有什么想法可以开始吗 我已经这样做了 如下所示 有Toolbar as AppBar aka ActionBar 位于顶部 其下方的第
  • 在带有效果的 Android 按钮中使用图像

    现在我在 StackOverflow 上遇到了相关问题 但不幸的是没有一个解决方案对我有用 这就是为什么我不得不单独问这个问题 我是 Android 新手 问题 我需要一个充当按钮的图像 现在我明白 这可以通过在标准按钮上使用图像或使用称为
  • Android 嵌套片段问题“java.lang.IllegalStateException:活动已被销毁”

    您可能知道 Android 支持嵌套片段 也是通过 API 级别 17 的支持库实现的 所以基本上我正在尝试将嵌套片段添加到 ViewPager 的片段之一中 并熟悉这一新的好功能 在第一次应用程序启动时 一切都按预期工作 即我可以添加子片
  • 给出文档名称的 UID

    我想知道在我的 firestore 数据库中保存用户首选项的最佳实践是什么 我会尝试用一个例子来解释 Case 1 我的 用户 集合中有这种文档 名称是由 Firebase 随机生成的 有 3 个字段 user uid 细绳 nicknam
  • 将图像添加到Toast?

    是否可以以编程方式将图像添加到 toast 弹出窗口 Yes 您可以使用 setView 方法将 imageview 或任何视图添加到 toast 通知中 使用此方法您可以根据您的要求自定义 Toast 在这里 我创建了一个要膨胀到 Toa
  • android finish() 方法不会从内存中清除应用程序

    我有一个活动 我调用 finish 方法 但该活动没有从内存中清除 调用 finish 后 我看到 onDestroy 方法已成功执行 并且我清除了其中的所有变量和内容 应该从内存中清除它还是android的工作方式 据我了解 活动的生命周

随机推荐

  • OpenMP 运行线程但继续 main

    我正在尝试使用 OpenMP 进行线程处理 因为它是跨平台的 但是我不知道如何使并行后的代码在循环运行时继续运行 它基本上只是并行执行第一个循环 但永远不会执行第二个非并行循环 int main pragma omp parallel wh
  • do.call(rbind, ...) 是否有更高阶的替代品?

    考虑以下数据框A A lt data frame ID c 1 1 1 2 2 2 num c 6 2 8 3 3 1 With A 我想分开ID 然后计算差值num 可以 几乎 获得所需的结果 do call rbind Map func
  • PHP 警告:模块“mcrypt”已加载

    当我使用 PHP 运行命令时 它显示一个错误 例如当我跑步时php v查看我的 PHP 版本 它显示一个错误 然后显示有关 PHP 的信息 模块 mcrypt 已加载到第 0 行的 未知 中 zied ubuntu php v PHP Wa
  • 无法更新firebase版本[重复]

    这个问题在这里已经有答案了 C Users Kashish gt npm install g firebase tools npm WARN optional SKIPPING OPTIONAL DEPENDENCY timed out 4
  • cockplot:调用plot_grid后提取子图

    我在用plot grid安排两个图 library ggplot2 library cowplot d data frame x rnorm 100 y rnorm 100 g sample c a b 100 replace T p1 g
  • 使用两列的 T-SQL“不在其中”

    我想从表 T1 中选择所有记录 其中 A 列和 B 列中的值与表 T2 中的 C 列和 D 列没有匹配的元组 In mysql Where not in 使用两列 https stackoverflow com questions 8435
  • 在 Java 中将 HTML 转换为纯文本

    我需要将 HTML 转换为纯文本 我对格式的唯一要求是在纯文本中保留新行 新行不仅应在以下情况下显示 br 但其他标签 例如 tr tr 也通向一条新线 用于测试的示例 HTML 页面是 http www article kth se li
  • TURN 服务器缺少中继候选者

    刚刚安装了 coturn 服务器 https github com coturn rfc5766 turn server https github com coturn rfc5766 turn server 看起来我只得到了 STUN 候
  • fgetpos/fsetpos 和 ftell/fseek 之间有什么区别

    使用函数有什么区别fgetpos and fsetpos 并使用函数ftell and fseek 获取和设置文件中的位置 什么是fgetpos and fsetpos 有什么好处 为什么要使用它们而不是ftell and fseek 以上
  • 模糊不同值

    我有一个房地产列表数据库 需要返回社区列表 现在我正在使用 mysql DISTINCT 它返回所有不同的值 我的问题是有很多社区具有相似的名称 例如 Park View Sub 1 Park View Park View Sub 2 Pa
  • Chrome 控制台有没有办法在控制台输出中搜索字符串,即使是折叠的字符串?

    我不想只过滤控制台输出 而是还要在其中搜索字符串 显示或折叠 是否可以 CTRL F 无法在折叠的输出中搜索 例如 如果输出是Array 3 它显示为一棵倒塌的树 即使您单击展开以显示有关阵列的详细信息 您也无法在其中进行搜索 The Fi
  • 模板元编程 - 使用 Enum Hack 和 Static Const 之间的区别

    我想知道在使用模板元编程技术时使用 static const 和 enum hack 之间有什么区别 EX 斐波那契通过 TMP template lt int n gt struct TMPFib static const int val
  • Capybara Poltergeist/PhantomJS 测试 - 禁用页面上的 javascript

    我的项目中有一个是 javascript 密集型的 所以我有一个
  • 在 C# 中访问交换电子邮件

    你知道有没有办法吗 我用过这个图书馆 http www codeproject com KB IP NetPopMimeClient aspx 20访问 pop3 服务器 但它不能与 Exchange 服务器一起使用 您是否知道任何其他库或
  • 从Python运行Scrapy

    我正在尝试从 Python 运行 Scrapy 我正在查看这段代码 source http doc scrapy org en 0 16 topics practices html from twisted internet import
  • 当前图像居中的 flexslider

    我正在尝试构建一个 Flexslider 轮播 它有多个图像 但当前图像居中 任一侧的下一个 上一个图像离开屏幕 就像这个网站http www ncad ie http www ncad ie 到目前为止 我已经用一张图片得到了它 http
  • 如何在 Swift 中观察多个节点中 Firebase 子值的变化?

    我的 Firebase 数据库中有一个 用户 节点 其中的每个用户都有一个 root 及其 uid 每个用户的属性之一是 坐标 我想观察所有用户的任何坐标的任何变化 我几乎需要这样的东西 usersDatabaseReference chi
  • iPad html5 视频没有控件?

    这让我苦恼了一整天 但我不知道如何让 html5 视频播放器在没有本机控件的情况下工作 我不想要任何控件 但如果我不包含它们 视频似乎不想播放 即使我在下面添加一些 javascript 试图强制它播放 它也适用于 iPhone 和多个浏览
  • ColorMatrix CSS 过滤器将黑白图像转换为双色调

    我需要创建一个自定义 CSS 过滤器 它将黑白图像转换为具有两种自定义颜色的双色图像 我想以这样的方式应用过滤器 不确定这种语法是否可行 也许需要单独传递 6 个参数 duotone webkit filter custom none ur
  • RecyclerView 仅显示 Firebase 中的一项

    我知道关于这个问题的疑问很少 但他们都没有解决我的问题 特别是我的代码是用 Kotlin 编写的 并且是新的Fragments 不要急于说我的问题是重复的 我的问题正是标题所说的 我的RecyclerView仅填充了来自的一项 子项 Fir