Post Detail
Post #112
Kotlin Notes
Interfaces
→ Bug perte de données en cas de rotation du device.
Android répond au basculement :
- Tenter de sauvegarder l’Activity (Propres composants) → Appelle onSaveInstanceState
→ Bundle (key:value)
1override fun onCreate(savedInstanceState: Bundle?) --> ? (peut être null)
2 /// Pour récupérer des données il faut tester si Bundle null
- Détruire l’activité
- Reconstruire l’activité → onCreate()
1if (savedInstanceState != null) {
2 /// rechercher data
3 score = savedInstanceState.getInt(SCORE_KEY)
4}
Pour définir les Key → (static : unique, disponible sans instanciation)
Kotlin il faut intégrer un companion object (fond de la classe)
1companion object {
2 /// Key
3 private const val SCORE_KEY = "SCORE_KEY"
4 private const val TIME_LEFT_KEY = "TIME_LEFT_KEY"
5}
Sauvegarde des données
1override fun onSavedInstanceState(outState: Bundle) {
2 super.onSavedInstanceState(outState)
3
4 outState.putInt(SCORE_KEY, score)
5}
Gestionnaire d’événements
1 tapMeButton.setOnClickListener{ v ->
2 /// v --> tapMeButton
3 }
Menu
- Créer un dossier de res/menu/
- Créer un fichier de ressources dans ce dossier
→ Editeur : Menu Item
→ Menu Item : id, title, icon, showAsAction - always
Redéfinir deux méthodes :
- onCreateOptionsMenu()
- onOptionsItemSelected() : répond aux clics sur les Menu Item
AlertDialog
(via le code)
1. Récupérer le Builder
val builder = AlertDialog.Builder(this)
No comments here yet.