Quelle est la signification de cet avertissement?
Aucune vue d'étiquette ne pointe vers ce champ de texte avec un attribut Android: labelFor = "@ id/@ id/editText1"
Notez que le double id (@id/@id
) est un problème avec le texte du message d'erreur et ne reflète pas le contenu XML (qui est la syntaxe correcte).
labelFor
est un attribut pour les options d'accessibilité. Vous attribuez cela à une étiquette de sorte que si, sur un formulaire, l'utilisateur clique sur un champ de texte, Android peut savoir quoi lire (TalkBack) à l'utilisateur.
L'identifiant que vous lui avez attribué ne semble pas être valide. pourquoi il y a deux @id
dans l'id? Utilisez des identifiants comme celui-ci: @id/editText1
J'ai eu le même message d'avertissement. Il a disparu lorsque j'ai ajouté un indice à mon EditText
Android:hint="Some explanation about the input..."
Bien que je ne connaisse pas l'erreur exacte que vous avez publiée. Mais il semble que vous ayez fait quelque chose de mal avec l'identifiant dans le textView
. Utilisez id comme suit dans votre textView
.
Android:id="@+id/editText1"
Et si vous voulez définir labelFor
alors utilisez:
Android:labelFor="@+id/editText1"
Cela signifie que vous devriez probablement définir une étiquette pour ce texte d'édition et les lier en utilisant un labelFor à l'intérieur de cette définition d'étiquettes.
exemple de code:
<TextView
Android:id="@+id/my_textView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:labelFor="@+id/my_editText" <!--the plus sign goes first in the code-->
Android:text="I'm a label" />
<EditText
Android:id="@id/my_editText" <!--no plus sign if not the first-->
Android:layout_width="wrap_content"
Android:inputType="text"
Android:layout_height="wrap_content" />
et ce n'est pas seulement pour les vues de texte.
Supprimez le premier '@ id /', utilisez comme
Qui est le bon format. Continuez .. Meilleurs voeux .. :)
Je l'ai résolu en écrivant les deux attributs:
Android:id="@+id/editText1" Android:labelFor="@+id/editText1"
Sélectionnez editText, allez à Propriétés, puis Libellé pour et entrez @ id/EditText1
Si le XML semble correct et que vous êtes dans un mode de disposition graphique, il utilise probablement une version ultérieure de la disposition de rendu Android qui ne prend pas en charge EditText.
Dans Eclipse et Android Studio, il devrait y avoir une icône verte Android avec la version d'API qui rend la mise en page. Assurez-vous que vous utilisez un API non W ou Wearable comme Android W ne prennent pas en charge l'élément EditText (EditText n'est probablement pas pris en charge car l'espace du clavier virtuel est limité sur ces appareils).
L'aperçu rendu doit prendre en charge EditText dans n'importe quelle version d'API 4.X sans W. de fin.