



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Android - view model in kotlin
Tipologia: Appunti
1 / 6
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




fragment -> perdono i dati quando si ricrea l'interfaccia (esempio pausa, rotazione telefono) view model -> classe che gestisce i dati indipendente dall'interfaccia view model si associa ad un'activity, comunque view model viene istanziato a on create(), solo se l'activity viene chiusa definitamente perde i dati MainActivity.kt packagecom.example.viewmodel importandroidx.appcompat.app.AppCompatActivity importandroid.os.Bundle importandroidx.activity.viewModels classMainActivity:AppCompatActivity(){ valviewModel:MainViewmodelby viewModels () overridefunonCreate(savedInstanceState:Bundle?){ super.onCreate(savedInstanceState)
setContentView(R.layout. activity_main ) } } FirstFragment.kt packagecom.example.viewmodel importandroid.os.Bundle importandroidx.fragment.app.Fragment importandroid.view.LayoutInflater importandroid.view.View importandroid.view.ViewGroup importandroid.widget.Button importandroid.widget.EditText importandroidx.fragment.app.activityViewModels classFirstFragment:Fragment(){ valviewModel:MainViewmodelby activityViewModels () overridefunonCreateView( inflater:LayoutInflater,container:ViewGroup?, savedInstanceState:Bundle? ):View?{ //Inflatethelayoutforthisfragment returninflater.inflate(R.layout. fragment_first ,container,false) } overridefunonViewCreated(view:View,savedInstanceState:Bundle?){ super.onViewCreated(view,savedInstanceState) valvalueView=view.findViewById
activity_main.xml <androidx.appcompat.widget.LinearLayoutCompatxmlns:android="http://schemas.android.co m/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <androidx.fragment.app.FragmentContainerView android:id="@+id/fragment1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:name="com.example.viewmodel.FirstFragment"/> <androidx.fragment.app.FragmentContainerView android:id="@+id/fragment2" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:name="com.example.viewmodel.SecondFragment"/> </androidx.appcompat.widget.LinearLayoutCompat> fragment_first.xml <androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="http://schemas.android.c om/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".FirstFragment"> <EditText android:id="@+id/valueView" android:layout_width="match_parent"
android:layout_height="wrap_content" app:layout_constraintBottom_toTopOf="@+id/doneButton" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"/> </androidx.constraintlayout.widget.ConstraintLayout> fragment_second.xml <FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".SecondFragment">