Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1.  
  2. import androidx.appcompat.app.AppCompatActivity
  3. import android.os.Bundle
  4. import android.view.LayoutInflater
  5. import android.view.View
  6. import android.view.ViewGroup
  7. import android.view.ViewParent
  8. import androidx.recyclerview.widget.LinearLayoutManager
  9. import androidx.recyclerview.widget.RecyclerView
  10. import com.bumptech.glide.Glide
  11. import com.firebase.ui.firestore.FirestoreRecyclerAdapter
  12. import com.firebase.ui.firestore.FirestoreRecyclerOptions
  13. import com.google.firebase.firestore.FirebaseFirestore
  14. import kotlinx.android.extensions.LayoutContainer
  15. import kotlinx.android.synthetic.main.activity_show_image.*
  16. import kotlinx.android.synthetic.main.item_image.view.*
  17.  
  18. class ShowImageActivity : AppCompatActivity() {
  19.  
  20. lateinit var firebaseFirestore : FirebaseFirestore
  21. var adapter : FirestoreRecyclerAdapter<MImage, ImageHolder>? = null
  22.  
  23. override fun onCreate(savedInstanceState: Bundle?) {
  24. super.onCreate(savedInstanceState)
  25. setContentView(R.layout.activity_show_image)
  26.  
  27. firebaseFirestore = FirebaseFirestore.getInstance()
  28. getImageList()
  29. }
  30.  
  31. private fun getImageList() {
  32. val query = firebaseFirestore.collection("posts")
  33. val response = FirestoreRecyclerOptions.Builder<MImage>()
  34. .setQuery(query, MImage::class.java).build()
  35. adapter = object : FirestoreRecyclerAdapter<MImage, ImageHolder>(response) {
  36. override fun onCreateViewHolder(parent: ViewGroup, ViewType: Int): ImageHolder
  37. {
  38. val view = LayoutInflater.from(parent.context)
  39. .inflate(R.layout.item_image, parent, false)
  40. return ImageHolder(view)
  41. }
  42. override fun onBindViewHolder(holder: ImageHolder, pos: Int, data: MImage) {
  43. if (holder != null) {
  44. Glide.with(applicationContext).load(data?.imageUrl).into(holder.img_item_image)
  45. }
  46. }
  47. }
  48. adapter?.notifyDataSetChanged()
  49. rv_image.layoutManager = LinearLayoutManager(this)
  50. rv_image.adapter = adapter
  51. }
  52. inner class ImageHolder (override val containerView: View):
  53. RecyclerView.ViewHolder(containerView), LayoutContainer {
  54. val img_item_image = containerView.img_item_image
  55. }
  56.  
  57. override fun onStart() {
  58. super.onStart()
  59. adapter?.startListening()
  60. }
  61.  
  62. override fun onStop() {
  63. super.onStop()
  64. adapter?.stopListening()
  65. }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement