Advertisement
Guest User

Untitled

a guest
May 15th, 2021
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.85 KB | None | 0 0
  1. package com.vid.grocerylist.ui.shoppinglist
  2.  
  3. import android.os.Bundle
  4. import androidx.appcompat.app.AppCompatActivity
  5. import androidx.lifecycle.Observer
  6. import androidx.lifecycle.ViewModelProvider
  7. import androidx.recyclerview.widget.LinearLayoutManager
  8. import com.vid.grocerylist.data.db.ShoppingDatabase
  9. import com.vid.grocerylist.data.db.entities.ShoppingItem
  10. import com.vid.grocerylist.data.repositories.ShoppingRepository
  11. import com.vid.grocerylist.databinding.ActivityShoppingBinding
  12. import com.vid.grocerylist.other.ShoppingItemAdapter
  13.  
  14. class ShoppingActivity : AppCompatActivity() {
  15.     private lateinit var binding: ActivityShoppingBinding
  16.     override fun onCreate(savedInstanceState: Bundle?) {
  17.         super.onCreate(savedInstanceState)
  18.         binding = ActivityShoppingBinding.inflate(layoutInflater)
  19.         setContentView(binding.root)
  20.  
  21.         val database = ShoppingDatabase(this)
  22.         val repository = ShoppingRepository(database)
  23.         val factory = ShoppingViewModelFactory(repository)
  24.  
  25.         val viewModel = ViewModelProvider(this, factory).get(ShoppingViewModel::class.java)
  26.  
  27.         val adapter = ShoppingItemAdapter(listOf(),viewModel)
  28.         binding.apply {
  29.             rvShoppingItems.layoutManager = LinearLayoutManager(this@ShoppingActivity)
  30.             rvShoppingItems.adapter = adapter
  31.  
  32.             viewModel.getAllShoppingItem().observe(this@ShoppingActivity, Observer {
  33.                 adapter.items = it
  34.                 adapter.notifyDataSetChanged()
  35.             })
  36.             fabAdd.setOnClickListener{
  37.                 AddShoppingItemDialog(this@ShoppingActivity,
  38.                 object: AddDialogListener{
  39.                     override fun onAddButtonClicked(item: ShoppingItem) {
  40.                         viewModel.upsert(item)
  41.                     }
  42.                 }).show()
  43.             }
  44.         }
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement