Описание тега android-viewmodel

Класс ViewModel разработан для хранения данных, связанных с пользовательским интерфейсом, и управления ими с учетом жизненного цикла. Класс ViewModel позволяет данным сохраняться при изменении конфигурации, например, при повороте экрана. Для тем, связанных с Android, используйте специфические для Android теги, такие как android-intent, android-activity, android-adapter и т. Д. По вопросам, не связанным с разработкой или программированием, но связанным с платформой Android, используйте эту ссылку: https://android.stackexchange.com.
0 ответов

Android ViewModel/MutableLiveData onChanged вызывается в новом фрагменте, когда данные не изменились

У меня проблема с изменяемыми живыми данными Android, возможно, из-за моего плохого понимания. Сценарий таков: у меня есть 3 списка в моих вкладках Android. public void openSort(SortType sortType) { mSortType.postValue(sortType); } public MutableLiv…
2 ответа

Android ViewModel: Должен ли я "позаимствовать" метод наблюдений () из LiveData, как в официальном примере?

При работе с ViewModels View соблюдает ViewModel. Он должен зарегистрироваться в качестве наблюдателя. В официальном учебнике Google эта регистрация делегирована observe() метод LiveData объект. public class MyViewModel extends ViewModel { private M…
2 ответа

Как получить ViewModel без класса ViewModelProviders?

Относительно прошлого вопроса Как получить ViewModel? и примеры, которые я нашел, это не решает мой случай. У меня нет разрешения комментировать там, поэтому я должен спросить еще раз. У меня нет класса ViewModelProviders, который я хотел бы использ…
15 авг '18 в 22:09
3 ответа

Включить кнопку, когда все EditText завершены

Я хотел бы включить AppCompatButton, когда все поля в форме заполнены. Я использую ViewModel и хотел бы использовать привязку данных, чтобы включить это. У меня есть 2 метода, которые запускаются при изменении текста в представлениях для обновления …
0 ответов

Как эффективно и часто делать запросы к базе данных Room с ViewModel и LiveData?

Редактировать: что я действительно спрашиваю. В SQLite я мог бы создать курсор из моего запроса следующим образом: Cursor cursor = db.query(TABLE_NAME, columns, searchClause, selectionArgs, null, null, null); Где я мог передать различные столбцы, se…
19 май '18 в 14:59
2 ответа

Как получить ViewModel из класса Worker?

у меня есть Activivity в моем приложении называется MainActivity. MainActivity связано с ViewModel в методе OnCreate ... val someViewModel = ViewModelProviders.of(this).get(SomeViewModel::class.java) ... Я делаю некоторую фоновую работу с Workers, …
3 ответа

Android MVVM: использование Glide непосредственно во фрагменте нарушает шаблон MVVM?

Я пытаюсь следовать шаблону MVVM в новом приложении, которое сейчас пишу. В основном он получает список элементов в JSON из моего REST-Backend и отображает его в RecycleView внутри моего фрагмента. Я создал хранилище, которое извлекает данные и пере…
1 ответ

Шаблон LiveData и MVVM

Это более "концептуальный" вопрос о LiveData и шаблоне MVVM на Android: я начал кодировать приложение, в котором у меня на экране несколько кнопок для разных действий, если я правильно понял, когда пользователь нажимает одну из кнопок, ViewModel дол…
31 янв '19 в 18:52
0 ответов

SearchView, использующий PageKeyedDataSource Не отображает какой-либо результат или даже ошибки

Я пытаюсь создать поисковое представление внутри фрагмента, который при поиске запрашивает данные из API бэкэнда. Результаты разбиты на страницы, поэтому я использую PageKeyedDataSource для отображения результатов в представлении рециркулятора. Поэт…
1 ответ

Как сделать этот ViewModelFactory более гибким и принимать различные виды классов ViewModel?

Я скопировал пример MVVM с компонентами архитектуры Android, Retrofit, Dagger и привязкой данных. Я использую этот код в качестве отправной точки для своего приложения, чтобы начать использовать лучшие архитектуры в разработке приложений для Android…
27 авг '18 в 06:07
0 ответов

Обновите значение LiveDataType в архитектурных компонентах ViewModel для Android kotlin

Я пытаюсь отобразить список, используя kotlin и архитектурные компоненты Android. Ответ отображается на экране, используя вид модели наблюдателя. Но при выполнении разбиения на страницы и при повороте экрана последний ответ отображается только вмест…
1 ответ

Значение Android LiveData не меняется

Я сделал как документы здесь, но значение Live data'а не меняется. Пожалуйста, скажите мне, что я делаю не так. Основная деятельность открытый класс MainActivity расширяет AppCompatActivity { private NameViewModel mModel; private ActivityMainBinding…
12 апр '18 в 05:07
1 ответ

Не удается разрешить символ ViewModelProviders

Я работаю над компонентом архитектуры Android ViewModel, но я получаю вышеупомянутую ошибку при попытке инициализировать ViewModel в AppCompatActivity. import android.arch.lifecycle.ViewModelProviders; ViewModelProviders.of(this).get(CounterViewMode…
05 июн '18 в 12:24
1 ответ

Как передать пользовательские параметры в ViewModel с помощью Factory?

Я знаю, что для передачи пользовательских параметров во ViewModel мы можем использовать ViewModelProvider.NewInstanceFactory, например так: // Factory Class class MyFactory extends ViewModelProvider.NewInstanceFactory { private final String mId; pub…
2 ответа

Исключение обозревателя данных Android Live

Я пытаюсь реализовать новые компоненты архитектуры Android и использую живые данные в модели фрагмента и представления, но когда я добавляю наблюдателя к живым данным, приложение вылетает, выбрасывая это исключение. Process: com.nrs.nsnik.architectu…
1 ответ

Viewmodel Livedata не обновляет данные наблюдателей

Например, у меня 12 UpcomingGamesFragment и каждый фрагмент имеет различный набор игровых данных, выпускаемых за месяц, например, первый фрагмент из 12 будет иметь видеоигры, выпущенные в январе 2019 года. В моем приложении есть навигационный ящик с…
14 ответов

Очистка Android ViewModel вручную?

Со ссылкой на android.arch.lifecycle.ViewModel учебный класс. ViewModel ограничено жизненным циклом компонента пользовательского интерфейса, к которому он относится, поэтому в Fragmentприложение, которое будет частью жизненного цикла фрагмента. Это …
1 ответ

Компонент навигации Android выполняет действие при возврате обратно в стек

Я использую компонент навигации Android и, несмотря на некоторые проблемы с прорезыванием зубов, теперь он работает хорошо. Я придерживаюсь одного принципа создания множества фрагментов и использую модели общего представления для связи между фрагмен…
2 ответа

Соблюдайте список MutableLiveData

Я использую Live Data в своем приложении, и у меня есть модель представления, которая простирается от ViewModel, В моей модели просмотра у меня есть список, который: var songs: MutableLiveData<List<Song>> = MutableLiveData<List<Son…
0 ответов

Null для глобального объекта в viewmodel

Я хочу передать идентификатор из метода onItemClick в метод editTask с помощью глобального объекта Task mTask, но когда я хочу установить идентификатор для mTask.setId(item.getId()); в onItemClick я всегда получаю нулевое значение... Если я устанавл…