Ceci provient de la fin du codelab que l'on trouve ici :
Introduction au débogage - Exemple de débogage : accès à une valeur qui n'existe pas
Tout cela se trouve dans le fichier MainActivity.kt
Voici mon onCreate
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val helloTextView: TextView = findViewById(R.id.division_textview)
helloTextView.text = "Hello, debugging!"
division()
}
//...
Voici la fonction de division fournie par Google, mais avec 2 changements que j'expliquerai dans un instant...
fun division() {
val numerator = 60
var denominator = 4
repeat(4) {
Thread.sleep(3000)
findViewById<TextView>(R.id.division_textview).setText("${numerator / denominator}")
Log.v(TAG, "${numerator / denominator}")
denominator--
}
}
Les instructions donnent l'impression que l'on s'attend à ce que sleep()
pour accepter les secondes, mais AS indique qu'il attend des millis, j'ai donc changé leur 3 en 3000. J'ai ajouté Log.v(TAG, "${numerator / denominator}")
pour voir ce qui se passait, car il ne fonctionnait pas comme prévu.
L'objectif était de faire en sorte que l'émulateur crée un gif des quotients mis à jour. Cela est censé être utile lors du débogage.
Rien ne s'affiche à l'écran, pas même le nom de l'application, jusqu'à ce que le bouton repeat()
finitions. Les enregistrements se produisent à intervalles de 3 secondes, comme prévu.
Pourquoi la mise en page attend-elle, et comment puis-je la mettre à jour à chaque itération de la boucle ?