Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sample
- import android.arch.lifecycle.MutableLiveData
- import android.arch.lifecycle.Observer
- import android.os.Bundle
- import android.support.v7.app.AppCompatActivity
- import android.view.View
- import android.widget.Toast
- import com.devindi.wallpaper.R
- class CounterActivityMvvm : AppCompatActivity() {
- val viewModel = CounterViewModel()
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- val view = View(this)
- view.id = R.id.increment
- setContentView(view)
- viewModel.counter.observe(this, Observer { t -> Toast.makeText(this@CounterActivityMvvm, "Counter: $t", Toast.LENGTH_SHORT).show() })
- view.setOnClickListener{ viewModel.increment() }
- }
- }
- class CounterViewModel {
- private val model = CounterRepository()
- val counter = model.counter
- fun increment() {
- model.increment()
- }
- }
- class CounterRepository {
- val counter = MutableLiveData<Int>()
- init {
- counter.value = 0
- }
- fun increment() {
- counter.value = counter.value!! + 1
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement