我正在尝试编写一个食品订购应用程序的管理部分,在那里他们可以看到存储在Firestore数据库中的订单。为了做到这一点,我有一些代码来监听数据库并获取所有文档:
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.Window
import android.widget.Toast
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
class AdminOrders : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
supportRequestWindowFeature(Window.FEATURE_NO_TITLE)
supportActionBar?.hide()
setContentView(R.layout.activity_admin_orders)
val db = Firebase.firestore
db.collection("Orders").addSnapshotListener { snapshot, e ->
if (e == null && snapshot != null) {
db.collection("Orders")
.get()
.addOnSuccessListener { result ->
for (document in result) {
Toast.makeText(this@AdminOrders, document.data["food"].toString(), Toast.LENGTH_SHORT).show()
}
}
}
}
}
}
问题在于,为了制作UI,我需要一个XML按钮,当点击该按钮时,显示数据库中每个返回文档的文档字段。
我是如何在android studio中使用Kotlin实现这个结果的?
1条答案
按热度按时间xwbd5t1u1#
您可以创建一个RecyclerView来显示列表中的订单。这是Kotlin中的一个sample app source。
item layout将有一个按钮。然后设置Click Listener以显示/隐藏其他元素。
您的适配器可能如下所示: