【发布时间】:2020-03-12 09:51:12
【问题描述】:
我有这个数据库:
{
"Locale" : {
"Feed1" : {
"title" : "title1"
"desc" : "description"
"lat" : 47.56494,
"lng" : 46.245,
},
"Feed2" : {
"desc" : "Desc nomer 2",
"id" : "id 2",
"lat" : 45.56494,
"lng" : 47.245,
"title" : "title2"
}
},
}
我在我的活动中添加了带有标记的 g-map。当我单击标记时,它会打开新的详细信息活动。所以我希望这个标记将数据从标记传递到详细活动中。
我使用 onMarkerClick:
override fun onMarkerClick(marker: Marker): Boolean {
mRefLocal.addValueEventListener(vael)
return false
}
这是我的 addValueEventListener(vael)
var vael: ValueEventListener = object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
for (snapshot in dataSnapshot.children) {
val feeds = snapshot.getValue(Feeds::class.java)
title = feeds!!.title
id = feeds.id
desc = feeds.desc
}
val intent = Intent(this@MapsActivity, FeedsDetail::class.java)
intent.putExtra("id", id)
intent.putExtra("desc", desc)
intent.putExtra("title", title)
startActivity(intent)
Toast.makeText(this@MapsActivity, title, Toast.LENGTH_SHORT).show()
}
override fun onCancelled(databaseError: DatabaseError) {}
}
所以无论我点击什么标记,我总是从 db 获得相同的数据。 我想从单击的标记中获取分配的数据。怎么了?
【问题讨论】:
标签: android firebase google-maps kotlin firebase-realtime-database