【问题标题】:How to return p0 database snapshot [duplicate]如何返回p0数据库快照[重复]
【发布时间】:2019-10-10 10:28:57
【问题描述】:

我怎样才能在有趣的getItemCount() 中返回p0 ? 我是 kotlin 的新手,我想这就是我不知道的原因

override fun getItemCount(): Int {


        val ref = FirebaseDatabase.getInstance().getReference("proizvodi/Kalendari")
        ref.addListenerForSingleValueEvent(object : ValueEventListener{
            override fun onCancelled(p0: DatabaseError) {
                TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
            }

            override fun onDataChange(p0: DataSnapshot) {

                Log.d("p0",p0.childrenCount.toString())


            }

        })
        return p0 //i want count to return here
    }

【问题讨论】:

  • 你到底想要什么?
  • 我想搜索我在数据库中有多少东西,并将它返回给 getItemCount() 以便我可以在 recycler 视图中显示这么多项目
  • 你已经有p0.child()
  • 我不能用它作为代码底部的返回,未解决的参考问题
  • 发布答案试试这种方式

标签: android kotlin firebase-realtime-database


【解决方案1】:

试试这个方法

override fun getItemCount(): Int {
        var count = 0 // init count variable 

        val ref = FirebaseDatabase.getInstance().getReference("proizvodi/Kalendari")
        ref.addListenerForSingleValueEvent(object : ValueEventListener{
            override fun onCancelled(p0: DatabaseError) {

            }
            override fun onDataChange(p0: DataSnapshot) {
                Log.d("p0",p0.childrenCount.toString())
                count = p0.childrenCount
            }

        })
        return count  //return count 
    }

【讨论】:

  • 当我返回计数为 0 时,当我返回 insine fun onDataChange 时,它​​的 4 应该在底部
  • 好的,所以返回 onDataChange(..)。应该没问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
  • 1970-01-01
  • 2020-03-25
  • 1970-01-01
  • 2020-10-10
相关资源
最近更新 更多