WEBVTT 00:00:00.270 --> 00:00:01.540 Regardons le numéro 1. 00:00:01.540 --> 00:00:04.470 Avant de révéler la réponse, je vais copier ce code et 00:00:04.470 --> 00:00:06.700 le coller dans Android Studio. 00:00:06.700 --> 00:00:09.060 Je veux vous montrer quelle genre d'erreur sortirait. 00:00:09.060 --> 00:00:12.090 Pour résoudre ce quizz, vous n'aviez pas besoin d'utiliser les appli en studio, 00:00:12.090 --> 00:00:14.510 Vous pourriez l'avoir résolu simplement en regardant le code ici et 00:00:14.510 --> 00:00:16.280 écrire alors dans la réponse. 00:00:16.280 --> 00:00:19.520 Alors, que vous utilisiez ou non Android studio, il est très bien avec moi. 00:00:19.520 --> 00:00:22.260 Pour faire fonctionner le code, Je créé un nouveau projet et 00:00:22.260 --> 00:00:25.270 Puis je l'ai modifié le fichier mainactivity layout afin qu'il 00:00:25.270 --> 00:00:30.080 ai un tas de vues avec ces identifiants que nous allons référencer. 00:00:30.080 --> 00:00:31.780 Je ne sais pas à quoi ce layout ressemblerait, mais 00:00:31.780 --> 00:00:36.060 Je voulais juste mettre les vues ici avec les noms vue correspondantes. 00:00:36.060 --> 00:00:38.210 De cette façon, mon code va marcher ici. 00:00:38.210 --> 00:00:42.570 Donc pour le numéro un, je colle le code ici, et je vois qu'il y a une erreur. 00:00:42.570 --> 00:00:46.270 Android Studios dit qu'il ne peut pas résoudre la méthode setText. 00:00:46.270 --> 00:00:47.780 Si vous vous souvenez de la dernière vidéo, 00:00:47.780 --> 00:00:51.510 J'ai mentionné que setText est une méthode de TextView. 00:00:51.510 --> 00:00:55.100 Vous pouvez appeler uniquement cette méthode sur des objets TextView. 00:00:55.100 --> 00:00:57.920 Dans ce cas, nous demandons sur nameTextView. 00:00:57.920 --> 00:01:00.705 Un nameTextView est déclarée d'être un objet de vue, 00:01:00.705 --> 00:01:04.057 Nous devons changer cette être un objet TextView. 00:01:05.990 --> 00:01:08.942 Ensuite, nous obtenons une erreur disant il ya des types incompatibles. 00:01:08.942 --> 00:01:12.390 Un textview, un objet de type TextView est nécessaire, mais 00:01:12.390 --> 00:01:15.700 Place il a trouvé un objet de type de vue. 00:01:15.700 --> 00:01:18.570 C'est parce qu'on trouve une vue par ID et ça retourne une vue, et 00:01:18.570 --> 00:01:21.950 Ce côté gauche nécessite une TextView. 00:01:21.950 --> 00:01:24.860 Cela signifie que nous devons ajouter ça dans 00:01:24.860 --> 00:01:28.730 la vue retournée par findViewById dans une TextView. 00:01:28.730 --> 00:01:30.800 Ensuite, nous pouvons stocker toute cette affaire, 00:01:30.800 --> 00:01:35.090 qui est le nameTextView, dans la variable de gauche. 00:01:35.090 --> 00:01:40.760 L''erreur disparaît, et on peut définir le texte, "Laura" sur cette TextView. 00:01:40.760 --> 00:01:44.510 L'erreur est sur la ligne 1, de sorte que j'ai écrit le code correct ici. 00:01:44.510 --> 00:01:49.540 L'explication est que nous devons jeter ce point de vue dans une TextView et 00:01:49.540 --> 00:01:53.050 stocker alors que l'intérieur une variable nameTextView. 00:01:53.050 --> 00:01:56.340 De cette façon, nous pouvons l'appeler nameTextView.setText, 00:01:56.340 --> 00:01:59.850 Qui est une méthode TextView, sur la ligne de code suivante ici. 00:01:59.850 --> 00:02:00.830 Passons au numéro deux. 00:02:00.830 --> 00:02:03.290 Je vais copier ce code et le mettre dans Android Studio. 00:02:04.540 --> 00:02:06.590 Voici le code que j'ai collé. 00:02:06.590 --> 00:02:09.620 La première ligne de code semble être correcte, il n'y a pas d'erreurs. 00:02:09.620 --> 00:02:11.550 Mais la deuxième ligne a un soulignement en rouge et 00:02:11.550 --> 00:02:14.420 il dit qu'il y a une erreur de types incompatibles. 00:02:14.420 --> 00:02:17.990 Il dit, une chaîne est nécessaire, mais il a trouvé à la place un int. 00:02:17.990 --> 00:02:19.290 Pour mieux comprendre cela, 00:02:19.290 --> 00:02:24.250 Nous devrions rechercher la méthode getMaxLines dans la doc de TextView. 00:02:24.250 --> 00:02:26.580 Dans la documentation de TextView, Je vais chercher 00:02:26.580 --> 00:02:28.650 La méthode getMaxLines. 00:02:28.650 --> 00:02:29.770 Et c'est ici. 00:02:29.770 --> 00:02:31.120 Il n'y a pas de paramètres d'entrée, et 00:02:31.120 --> 00:02:33.520 La valeur de retour de cette méthode de est un entier. 00:02:34.758 --> 00:02:38.194 Voilà pourquoi l'atelier Android se plaignait, parce que cette méthode, 00:02:38.194 --> 00:02:39.911 car elle retourne un entier, mais 00:02:39.911 --> 00:02:42.700 nous essayions de le stocker dans une variable String. 00:02:42.700 --> 00:02:47.870 Je dois changer ce type de variable de de données pour être un int. 00:02:47.870 --> 00:02:49.470 Puis l'erreur disparaît. 00:02:49.470 --> 00:02:52.620 Ainsi, la valeur de retour de cette méthode est un entier. 00:02:52.620 --> 00:02:56.060 Donc, nous pouvons stocker à l'intérieur cette variable maxLines. 00:02:56.060 --> 00:02:57.870 Il y a un avertissement restant. 00:02:57.870 --> 00:03:00.870 Qui dit que les variables maxlines ne sont jamais utilisées. 00:03:00.870 --> 00:03:02.260 Mais ceci est juste un extrait de code. 00:03:02.260 --> 00:03:04.760 Je suppose que si c'était dans une application normale nous 00:03:04.760 --> 00:03:06.740 voudrions réellement utiliser cette variable plus tard. 00:03:07.800 --> 00:03:11.380 Donc, l'erreur est sur la ligne deux et voici le code mis à jour. 00:03:11.380 --> 00:03:14.340 L'explication est que la valeur de retour de cette méthode devrait 00:03:14.340 --> 00:03:15.480 être un nombre entier. 00:03:15.480 --> 00:03:16.620 Passons au numéro trois. 00:03:17.980 --> 00:03:19.830 Voici un code pour le numéro trois. 00:03:19.830 --> 00:03:22.960 Je copie et colle le code pourle numéro trois dans Android Studio. 00:03:22.960 --> 00:03:25.812 Il y a un message d'erreur qui dit types incompatibles. 00:03:25.812 --> 00:03:29.400 Un ImageView était nécessaire, mais au lieu de ça il a trouvé une vue. 00:03:29.400 --> 00:03:32.740 Ceci est similaire à l'erreur que nous venons de voir avec le TextView. 00:03:32.740 --> 00:03:34.960 Cette méthode retourne une vue. 00:03:34.960 --> 00:03:38.270 Et, sur le côté gauche, nous essayons de le stocker dans un ImageView. 00:03:38.270 --> 00:03:42.370 Nous avons donc besoin de jeter ce point de vue objet dans un ImageView. 00:03:42.370 --> 00:03:47.330 C'est valable car la vue avec l'icône d'identification est en fait un ImageView, 00:03:47.330 --> 00:03:49.630 Il est si bon de jeter ça dans une vue de l'image. 00:03:49.630 --> 00:03:52.560 Maintenant que le côté droit évalue un ImageView, 00:03:52.560 --> 00:03:55.700 Nous pouvons stocker la variable que sur le côté gauche. 00:03:55.700 --> 00:03:59.770 Cette variable a une ImageView de type de données, tout correspond et 00:03:59.770 --> 00:04:01.430 l'erreur a disparu. 00:04:01.430 --> 00:04:04.640 De ce côté, nous pouvons appeler une méthode d'ImageView, 00:04:04.640 --> 00:04:09.180 SetImageResource, sur cet objet IconImageView. 00:04:09.180 --> 00:04:12.830 Il y a une erreur restante disant qu'il ne peut pas résoudre symbole logo. 00:04:12.830 --> 00:04:17.310 car je n'ai pas ajouté une image dans notre application avec le nom logo. 00:04:17.310 --> 00:04:21.410 Si j'avais ajouté ça alors notre code serait correct. 00:04:21.410 --> 00:04:25.400 Voici le code correct où j'ai noté ce point de vue dans un ImageView. 00:04:25.400 --> 00:04:27.330 Enfin, nous avons numéro 4. 00:04:27.330 --> 00:04:32.080 Je collé le code ici dans Android studio et étonnamment il n'y a pas d'erreurs. 00:04:32.080 --> 00:04:35.960 Le code essaie de trouver une vue avec le titre de id, et 00:04:35.960 --> 00:04:41.150 devrait renvoyer une vue, et qui est stockée dans cette variable TextView. 00:04:41.150 --> 00:04:43.900 TextView a un type de vue de données, de sorte 00:04:43.900 --> 00:04:47.940 que ça correspond au côté droit, donc toute cette ligne de code est correct. 00:04:47.940 --> 00:04:51.410 Sur la ligne suivante, nous prenons cet objet, qui est une vue et 00:04:51.410 --> 00:04:54.410 nous appelons une méthode de setVisibility sur elle. 00:04:54.410 --> 00:04:58.763 La méthode prend en entrée un paramètre qui est View.GONE. 00:04:58.763 --> 00:05:02.790 Je peux vérifier la documentation afin de vérifier pourquoi. 00:05:02.790 --> 00:05:06.050 Dans la documentation de la classe de vue, je peux chercher 00:05:06.050 --> 00:05:08.400 le procédé setVisibility. 00:05:08.400 --> 00:05:11.970 Je peux voir que setVisibility est une méthode au sein de la classe d'affichage. 00:05:11.970 --> 00:05:16.310 Il prend cette entrée, un entier qui représente l'état de visibilité. 00:05:16.310 --> 00:05:21.175 Les valeurs de visibilité possibles sont VISIBLE, INVISIBLE, and GONE. 00:05:21.175 --> 00:05:24.490 Car setVisibility est une méthode sein de la classe vue, 00:05:24.490 --> 00:05:26.320 Ceci est un appel valide ici. 00:05:26.320 --> 00:05:29.280 Il n'y a pas besoin de marquer cela dans un TextView 00:05:29.280 --> 00:05:33.200 Parce que la méthode que nous appelons est une méthode de la classe de vue. 00:05:33.200 --> 00:05:36.010 Maintenant, si nous essayions de utiliser une méthode de TextView, 00:05:36.010 --> 00:05:38.860 Alors nous aurions besoin de jeter à un TextView. 00:05:38.860 --> 00:05:41.600 Donc, pour cette question, vous devriez mettre aucune erreur, car 00:05:41.600 --> 00:05:45.930 SetVisibility est une méthode d'affichage, il faut le laisser comme un objet View. 00:05:45.930 --> 00:05:47.480 Ce sont des questions difficiles. 00:05:47.480 --> 00:05:48.860 C'est pas grave si vous ne les avez pas eu bonnes. 00:05:48.860 --> 00:05:52.080 Dans le prochain test, vous aurez une chance de pratiquer ça plus.