Значение предупреждения "Нет ярлыков указывает на это текстовое поле"
В чем смысл этого предупреждения?
Никакие метки не указывают на это текстовое поле с андроидом: labelFor = "@ id/@id/editText1"
Обратите внимание, что двойной идентификатор (@id/@id
) представляет собой проблему с текстом сообщения об ошибке и не отражает содержимое XML (это правильный синтаксис).
Ответы
Ответ 1
labelFor
- атрибут для параметров доступности. Вы назначаете это метке, чтобы, если в форме пользователь щелкает текстовое поле, андроид может знать, что читать (TalkBack) пользователю.
Идентификатор, присвоенный ему, кажется, не является допустимым. почему в id есть два @id
? Используйте идентификаторы: @id/editText1
Ответ 2
У меня было такое же предупреждение. Он исчез, когда я добавил подсказку в свой EditText
android:hint="Some explanation about the input..."
Ответ 3
Хотя я не знаком с точной ошибкой, которую вы опубликовали. Но это определенно звучит так, будто вы сделали что-то не так с идентификатором в textView
. Используйте идентификатор, как показано ниже в textView
.
android:id="@+id/editText1"
И если вы хотите установить labelFor
, то используйте:
android:labelFor="@+id/editText1"
Ответ 4
Это означает, что вы, вероятно, должны определить метку для этого текста редактирования и связать их, используя метку для внутри определения этикеток.
пример кода:
<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" />
и это не только для текстовых представлений.
Ответ 5
Удалите первый '@id/', используйте как
андроид: идентификатор = "@+ идентификатор /editText 1"
который является правильным форматом. Продолжайте.. С наилучшими пожеланиями..:)
Ответ 6
Выберите editText, перейдите в Свойства, затем Ярлык для и введите @id/EditText1
Ответ 7
Я решил это, написав оба атрибута:
android:id="@+id/editText1"
android:labelFor="@+id/editText1"
Ответ 8
Если XML выглядит корректно, и вы находитесь в режиме графического макета, возможно, он использует более позднюю версию макета рендеринга Android, которая не поддерживает EditText.
В Eclipse и Android Studio должен быть зеленый значок Android с версией API-версии. Убедитесь, что вы используете API не W или Wearable, поскольку API Android W не поддерживает элемент EditText. (EditText, скорее всего, не поддерживается, поскольку на этих устройствах ограничено пространство виртуальной клавиатуры).
Представленный предварительный просмотр должен поддерживать EditText в любой версии API 4.X без завершающего W.