如何使用适配器仅显示应用程序中的有限数量的项目

how to show only limited amount of items from it the app using adapter

所以我只需要在屏幕上显示我的 Firebase 数据库中的三个对象。如何实施? 我使用此逻辑和适配器检索我的数据。

retrieveData()
setData(recyclerView)

private fun setData(rec_view:RecyclerView) {

    val query = FirebaseDatabase.getInstance().reference.child("News")
    val options = FirebaseRecyclerOptions.Builder<News>()
        .setQuery(query, News::class.java)
        .build()
    adapter = object:FirebaseRecyclerAdapter<News, NewsViewHolder>(options){

        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NewsViewHolder {
            Log.d("onCreateViewHolder_n", "onCreateViewHolder")

            val newsView = LayoutInflater
                .from(parent.context)
                .inflate(R.layout.new_card_new, parent, false)
            return NewsViewHolder(newsView)
        }

        override fun onBindViewHolder(holder: NewsViewHolder, position: Int, model: News) {
            holder.setIsRecyclable(false)
            holder.title.text = model.text
            holder.timestamp.text = model.timestamp
            holder.setNewsClickListener(object: NNewsClickListener {
                override fun onClick(view: View, position: Int) {
                    startActivity(Intent(Intent.ACTION_VIEW).setData(Uri.parse(model.link)));
                }
            })
        }
    }
    rec_view.adapter = adapter
}

private fun retrieveData() {
    items.clear()
    val db = FirebaseDatabase.getInstance()
        .reference
        .child("News")
    db.addListenerForSingleValueEvent(object :ValueEventListener{

        override fun onCancelled(error: DatabaseError) {
            Log.d("ERROR", "" + error.message)
        }

        override fun onDataChange(snapshot: DataSnapshot) {
            for(item_newsSnapShot in snapshot.children)
            {
                val item_news = item_newsSnapShot.getValue(News::class.java)
                items.add(item_news!!)
            }
        }
    })
}

我在某处发现我应该使用 getItemCount() 或类似的东西,但我不确定。如果您对我的问题有任何疑问,请随时提出。

如果您的其余代码已经正常工作,您可以限制 Firebase 仅检索 3 个项目:

val db = FirebaseDatabase.getInstance()
    .reference
    .child("News")
    .limitToFirst(3)

我建议查看 sorting and filtering data 上的文档。