Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.vid.grocerylist.ui.shoppinglist
- import android.os.Bundle
- import androidx.appcompat.app.AppCompatActivity
- import androidx.lifecycle.Observer
- import androidx.lifecycle.ViewModelProvider
- import androidx.recyclerview.widget.LinearLayoutManager
- import com.vid.grocerylist.data.db.ShoppingDatabase
- import com.vid.grocerylist.data.db.entities.ShoppingItem
- import com.vid.grocerylist.data.repositories.ShoppingRepository
- import com.vid.grocerylist.databinding.ActivityShoppingBinding
- import com.vid.grocerylist.other.ShoppingItemAdapter
- class ShoppingActivity : AppCompatActivity() {
- private lateinit var binding: ActivityShoppingBinding
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- binding = ActivityShoppingBinding.inflate(layoutInflater)
- setContentView(binding.root)
- val database = ShoppingDatabase(this)
- val repository = ShoppingRepository(database)
- val factory = ShoppingViewModelFactory(repository)
- val viewModel = ViewModelProvider(this, factory).get(ShoppingViewModel::class.java)
- val adapter = ShoppingItemAdapter(listOf(),viewModel)
- binding.apply {
- rvShoppingItems.layoutManager = LinearLayoutManager(this@ShoppingActivity)
- rvShoppingItems.adapter = adapter
- viewModel.getAllShoppingItem().observe(this@ShoppingActivity, Observer {
- adapter.items = it
- adapter.notifyDataSetChanged()
- })
- fabAdd.setOnClickListener{
- AddShoppingItemDialog(this@ShoppingActivity,
- object: AddDialogListener{
- override fun onAddButtonClicked(item: ShoppingItem) {
- viewModel.upsert(item)
- }
- }).show()
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement