Postingan lainnya
Save data order ke firebase, yang nantinya mncul di activity my rental history sesuai akunnya kotlin
<a href=' https://drive.google.com/open?id=1ssIvLfyoJoGne_Wm3P8QgQ0n_eidHNUz '> https://drive.google.com/open?id=1ssIvLfyoJoGne_Wm3P8QgQ0n_eidHNUz </a> gambar tampilan history, disini data history tampil dari semua akun yg menyewa, bagaimana cara agar yang muncul adalah history dari order yang dilakukan oleh satu pengguna? apakah yang salah dari cara saya menyimpan ke database atau kesalahan saat saya memanggilnya
//kode dari reservasi yg akan disimpan
private fun order(){
val name = Dname.text.toString().trim()
val email = Demail.text.toString().trim()
val passport = Dpassport.text.toString().trim()
val phone = Dphone.text.toString().trim()
val motor = DnamaMotor.text.toString().trim()
val start = Dstart.text.toString().trim()
val finish = Dfinish.text.toString().trim()
val total = Dtotal.text.toString().trim()
val hotel = Dhotel.text.toString().trim()
val adres = Daddress.text.toString().trim()
val mDatabase =FirebaseDatabase.getInstance().getReference("Reservation")
val reservationid = mDatabase.push().key
val reserv = reservation(name,email,passport,phone,motor,start,finish,total,hotel,adres)
mDatabase.child(reservationid.toString()).setValue(reserv).addOnSuccessListener {
}
}
}
//kode menampilkan di My history
private fun fetchhistory() {
val ref = FirebaseDatabase.getInstance().getReference("/Reservation")
mDatabase.child("users").child(mAuth.currentUser!!.uid)
ref.addListenerForSingleValueEvent(object: ValueEventListener {
override fun onDataChange(p0: DataSnapshot) {
val adapter = GroupAdapter<ViewHolder>()
p0.children.forEach {
val reservasi = it.getValue(reservation::class.java)
if (reservasi != null) {
adapter.add(reservasiItem(reservasi))
}
}
adapter.setOnItemClickListener { item, view ->
val rslItem = item as reservasiItem
val intent = Intent(view.context, successActivity::class.java)
startActivity(intent)
}
recycleviewhistory.adapter = adapter
}
override fun onCancelled(p0: DatabaseError) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
})
}
}
class reservasiItem (val reservasi: reservation): Item<ViewHolder>() {
override fun bind(viewHolder: ViewHolder, position: Int) {
viewHolder.itemView.Mnama.text = reservasi.motor
viewHolder.itemView.mStart.text = reservasi.startdate
viewHolder.itemView.mReturn.text = reservasi.returndate
viewHolder.itemView.mtotal.text = reservasi.total
}
override fun getLayout(): Int {
return R.layout.designhistory
}
}
2 Jawaban:
Saat menyimpan reservasi, kamu simpan juga id akun (akunId) yang sedang login.
Sehingga saat menampilkan di My History nanti kamu filter where akunId == mAuth.currentUser!!.uid. Sehingga history punya orang lain gk ikut
ternyata where difirebase menggunakan orderbychild, makasih mas ifan, 2 hari baru ketemu
<pre> val ref = FirebaseDatabase.getInstance().getReference("/Reservation").orderByChild("uid").equalTo(mAuth.currentUser!!.uid) </pre>