Есть у кого example с ViewModel на java и jetpack

compose?
Пытаюсь перенести старый проект, хочу начать с MutableState объектов, но не могу догнать про методы component1 component2

8 ответов

33 просмотра

java и jetpack compose ❓❓❓

ᴅᴍɪᴛʀʏ ᴠᴏᴌᴋᴏᴠ 💙💛
java и jetpack compose ❓❓❓

package com.nire.exampleproject.viewModel; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; public class MainViewModel extends ViewModel { private final MutableLiveData<Integer> counter = new MutableLiveData<>(0); public MutableLiveData<Integer> getCounter() { return counter; } public void incrementCounter() { Integer value = counter.getValue(); if (value == null) value = 0; counter.setValue(value + 1); } } вот такое в @Composable fun Screen(mv: MainViewModel = viewModel()) { CounterTest("this count: ${mv.counter.value}") { mv.incrementCounter() } }

Нонейм Программист Павлов
package com.nire.exampleproject.viewModel; import...

т.е делаешь в комозабл функции и используешь val counter by mv.counter.asState()

ℕo ℕame
т.е делаешь в комозабл функции и используешь val c...

нету такого метода у counter, уже попробовал =(

Нонейм Программист Павлов
нету такого метода у counter, уже попробовал =(

попробуй implementation("androidx.compose.runtime:runtime-livedata:1.2.0-alpha02")

ℕo ℕame
попробуй implementation("androidx.compose.runtime:...

package com.nire.exampleproject.viewModel import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel class MainViewModelK : ViewModel() { val counterLiveDate: LiveData<Int> get() = counter private val counter = MutableLiveData<Int>() private var count = 0 fun increaseCounter() { counter.value = ++count } } выше рабочий код, ниже мой, не могу понять разницы package com.nire.exampleproject.viewModel; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; public class MainViewModel extends ViewModel { public LiveData<Integer> counterLiveDate; private final MutableLiveData<Integer> counter = new MutableLiveData<Integer>(); private final Integer count = 0; public void increaseCounter() { Integer value = counter.getValue(); if (value == null) value = 0; counter.setValue(value + count); } } можете подсказать что тут не так? вылетает с ошибкой model.counterLiveDate must not be null но выше я вроде не инициализировал его

Нонейм Программист Павлов
package com.nire.exampleproject.viewModel import ...

ну в джаве если ты не инициализируешь там будет null

ℕo ℕame
ну в джаве если ты не инициализируешь там будет nu...

не в этом дело было, забыл геттер прописать

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта