Domande taggate «android-viewmodel»

3
AndroidViewModel vs ViewModel
Con l'introduzione della libreria Android Architecture Components, sono state introdotte diverse nuove classi, tra cui AndroidViewModele ViewModel. Tuttavia, ho difficoltà a capire la differenza tra queste due classi. La documentazione descrive brevemente AndroidViewModelcome segue: Conoscenza del contesto dell'applicazione ViewModel Apprezzo la brevità, ma cosa implica esattamente? Quando dovremmo scegliere di …

21
ViewModelProviders è obsoleto in 1.1.0
Guardando i documenti di Google per ViewModel, mostrano il seguente codice di esempio su come ottenere un ViewModel: val model = ViewModelProviders.of(this).get(MyViewModel::class.java) Quando si utilizza l'ultima dipendenza android.arch.lifecycle:extensions:1.1.1non esiste tale classe ViewModelProviders. Andando alla documentazione per ViewModelProviders, ho visto un commento che diceva: Questa classe è stata deprecata nel livello …


2
Usa viewLifecycleOwner come LifecycleOwner
Ho un frammento: class MyFragment : BaseFragment() { // my StudentsViewModel instance lateinit var viewModel: StudentsViewModel override fun onCreateView(...){ ... } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) viewModel = ViewModelProviders.of(this).get(StudentsViewModel::class.java) updateStudentList() } fun updateStudentList() { // Compiler error on 'this': Use viewLifecycleOwner as the LifecycleOwner viewModel.students.observe(this, Observer …

1
Che cos'è ViewModelStore e viewModelStoreOwner?
Sono molto confuso a causa di questo nuovo API ViewModelProvider (ViewModelProviders è deprecato) Come per le nuove modifiche ci sono anche nuovi costruttori (codice sorgente). 1 # public ViewModelProvider(@NonNull ViewModelStoreOwner owner) { this(owner.getViewModelStore(), owner instanceof HasDefaultViewModelProviderFactory ? ((HasDefaultViewModelProviderFactory) owner).getDefaultViewModelProviderFactory() : NewInstanceFactory.getInstance()); } 2 # public ViewModelProvider(@NonNull ViewModelStoreOwner owner, @NonNull Factory …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.