Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
android_fragments [2023/02/13 11:17] enric_mieza_sanchez [ViewModel] |
android_fragments [2025/01/08 01:19] (actual) enric_mieza_sanchez [ViewModel] |
||
|---|---|---|---|
| Línia 2: | Línia 2: | ||
| Els '' | Els '' | ||
| - | |||
| - | {{https:// | ||
| Referències: | Referències: | ||
| * [[Android]] a la pròpia wiki bytes.cat | * [[Android]] a la pròpia wiki bytes.cat | ||
| * ... | * ... | ||
| - | |||
| {{tag> #Dam #DamMp08 #DamMp08Uf1 # | {{tag> #Dam #DamMp08 #DamMp08Uf1 # | ||
| + | |||
| + | |||
| + | {{ https:// | ||
| + | |||
| ===== App amb fragments ===== | ===== App amb fragments ===== | ||
| App amb fragments: | App amb fragments: | ||
| - | - Crear app amb el // | + | - Crear app amb el // |
| - Afegir un nou '' | - Afegir un nou '' | ||
| - Afegir el nou '' | - Afegir el nou '' | ||
| - Afegir el nou '' | - Afegir el nou '' | ||
| - | - ... | + | - Anar a '' |
| - | - | + | R.id.navigation_home, |
| + | R.id.navigation_notifications, | ||
| + | .build();</ | ||
| + | - Posar una icona adequada pel nou fragment. | ||
| + | - La plantilla sol tenir un // | ||
| \\ | \\ | ||
| Línia 26: | Línia 31: | ||
| ===== ViewModel ===== | ===== ViewModel ===== | ||
| - | <WRAP tip> | + | |
| + | <WRAP tip left twothirds> | ||
| Haureu vist que el '' | Haureu vist que el '' | ||
| - | No és necessari utilitzar el '' | + | No és necessari utilitzar el '' |
| </ | </ | ||
| + | |||
| + | {{https:// | ||
| + | |||
| + | \\ | ||
| + | |||
| + | \\ | ||
| Un [[https:// | Un [[https:// | ||
| + | <tabbox Versió Kotlin> | ||
| + | <code kotlin> | ||
| + | homeViewModel.text.observe(viewLifecycleOwner) { | ||
| + | textView.text = it | ||
| + | }</ | ||
| + | <tabbox Versió Java> | ||
| <code java> | <code java> | ||
| + | </ | ||
| + | <WRAP info> | ||
| + | Per [[https:// | ||
| + | |||
| + | {{https:// | ||
| + | </ | ||
| Línia 44: | Línia 68: | ||
| Algo així: | Algo així: | ||
| + | <tabbox Versió Kotlin> | ||
| + | <file kotlin HomeFragment.kt> | ||
| + | _binding!!.button.setOnClickListener(View.OnClickListener { | ||
| + | homeViewModel.setText(" | ||
| + | }) | ||
| + | </ | ||
| + | Cal afegir '' | ||
| + | <file kotlin HomeViewModel.kt> | ||
| + | class HomeViewModel : ViewModel() { | ||
| + | |||
| + | private val _text = MutableLiveData< | ||
| + | value = "This is home Fragment" | ||
| + | } | ||
| + | var text: LiveData< | ||
| + | |||
| + | fun setText(newtext: | ||
| + | _text.postValue(newtext) | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | <tabbox Versió Java> | ||
| <code java> | <code java> | ||
| homeButton.setOnClickListener(new View.OnClickListener() { | homeButton.setOnClickListener(new View.OnClickListener() { | ||
| Línia 57: | Línia 102: | ||
| }); | }); | ||
| </ | </ | ||
| + | </ | ||
| Ara posa l'app en marxa, habilita el // | Ara posa l'app en marxa, habilita el // | ||