MainActivity.kt
Код: Выделить всё
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private lateinit var counterViewModel: CounterViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
counterViewModel = ViewModelProvider(this)[CounterViewModel::class.java]
binding.buttonGo.setOnClickListener {
val intent = Intent(this@MainActivity, Second::class.java)
startActivity(intent)
}
binding.buttonCounter.setOnClickListener {
counterViewModel.incrementCounter()
}
}
}
Код: Выделить всё
class Second:AppCompatActivity() {
private lateinit var counterViewModel: CounterViewModel
private lateinit var binding: SecondBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = SecondBinding.inflate(layoutInflater)
setContentView(binding.root)
counterViewModel = ViewModelProvider(this)[CounterViewModel::class.java]
binding.buttonBack.setOnClickListener {
onBackPressed()
}
counterViewModel.counter.observe(this, Observer {count ->
binding.textCounter.text = count.toString()
})
}
}
Код: Выделить всё
class CounterViewModel : ViewModel() {
private val _counter = MutableLiveData(0)
val counter: LiveData get() = _counter
fun incrementCounter() {
_counter.value = (_counter.value ?: 0) + 1
}
}
Код: Выделить всё
Код: Выделить всё
Подробнее здесь: https://stackoverflow.com/questions/786 ... n-which-is