Значэнне «Не праглядаў этыкетцы не паказваюць на гэта тэкставае поле» папярэджанне

У чым сэнс гэтага папярэджання?

<�Р> Няма праглядаў этыкеткі не паказваюць на гэта тэкставае поле з андроіда: labelFor = "@   ID/@ ідэнтыфікатар/editText1 "атрыбут

Звярніце ўвагу, што двайны ідэнтыфікатар ( @ ідэнтыфікатар/@ ідэнтыфікатар ) з'яўляецца праблема <�моцны> з тэкстам паведамленні пра памылку і не адлюстроўвае змест xml (які з'яўляецца правільны сінтаксіс).

33
Прачытайце гэты пост, гэта будзе карысна:
дададзена аўтар Nargis, крыніца

8 адказы

<�Код> labelFor гэта атрыбут для спецыяльных магчымасцяў. Вы прызначаеце гэта на этыкетцы, так што калі, па форме, карыстальнік націскае на поле TextEdit, АНДРОІД можа ведаць, што чытаць (агучванне) для карыстальніка.

The id you assigned to it doesn't seem to be a valid one. why there are two @id in the id? Use ids like this: @id/editText1

19
дададзена
stackoverflow.com/questions/24731137/… змяшчае дадатковую інфармацыю.
дададзена аўтар Soren Stoutner, крыніца
Дзякуючы. Гэта адзіны адказ, які на самай справе тлумачыць, што робіць «labelFor» і чаму мы павінны дадаць яго.
дададзена аўтар Intrications, крыніца

У мяне было такое ж папярэджанне. Ён знік, калі я дадаў намёк на мой EditText

android:hint="Some explanation about the input..."
18
дададзена
Для тых, хто шукае зацьмення характар, тут ... .
дададзена аўтар David Chen, крыніца
@ BartisÁron добры ўлоў - так, вы маеце рацыю.
дададзена аўтар David Chen, крыніца
@DavidChen Вы не хочаце пісаць «шматкроп'е» замест «Зацьменне»?
дададзена аўтар Bartis Áron, крыніца

Нягледзячы на ​​тое, што я не знаёмы з дакладнай памылкі вы выклалі. Але гэта, безумоўна, гучыць, як вы зрабілі нешта не так з ідэнтыфікатарам ў TextView . Выкарыстоўвайце ідэнтыфікатар, як наступнае ў вашым TextView .

android:id="@+id/editText1"

І калі вы хочаце ўсталяваць labelFor затым выкарыстоўваць:

   android:labelFor="@+id/editText1"
14
дададзена
гэтая памылка будзе адлюстроўвацца ў фармаце XML, калі вы проста перацягнуць «шматрадковых тэкст» ў макет.
дададзена аўтар Someone Somewhere, крыніца
Вы не павінны мець знак плюс у ІА «labelFor». Яно павінна быць: АНДРОІД: labelFor = «@ ідэнтыфікатар/editText1» Знак плюс выкарыстоўваецца толькі адзін раз для генерацыі ідэнтыфікатара.
дададзена аўтар wholladay, крыніца
@wholladay так, але гэта звычай быць праблемай тут. + Дадасць ідэнтыфікатар, калі не існуе. яшчэ тнх за прапанову
дададзена аўтар stinepike, крыніца
@wholladay Гэта мае значэнне, калі вы спрабуеце спасылацца на ідэнтыфікатар, перш чым ён будзе створаны. Альбо вы дадаеце +, альбо вы рэарганізаваць свае XML-элементы.
дададзена аўтар parvus, крыніца

Гэта азначае, што вы, верагодна, павінны вызначыць пазнаку для гэтага рэдагавання тэксту і звязаць іх з дапамогай labelFor у тым, што этыкеткі вызначэнне.

Прыклад кода:




і гэта не толькі для відаў тэксту.

6
дададзена

Выдаліць й першы «@ ід /», выкарыстоўваць як

<�Р> АНДРОІД: ідэнтыфікатар = "@ + ідэнтыфікатар/editText1"

што правільны фармат. Працягвайце ісці .. З найлепшымі пажаданнямі .. :)

2
дададзена

Я вырашыў, напісаўшы і атрыбуты:

<�Код> АНДРОІД: ідэнтыфікатар = "@ + ідэнтыфікатар/editText1"  АНДРОІД: labelFor = "@ + ідэнтыфікатар/editText1"

2
дададзена

Select the editText, go to Properties, then Label for and enter @id/EditText1

1
дададзена
гэта не мае ніякага сэнсу для мяне, але гэта на самай справе працуе !! Добры і эз спосаб пазбавіцца ад папярэджання.
дададзена аўтар Someone Somewhere, крыніца

Калі xml выглядае правільна, і вы знаходзіцеся ў рэжыме графічнага макета, то гэта, верагодна, з выкарыстаннем больш позняй версіі макета Android рэндэрынгу, які не падтрымлівае EditText.

In Eclipse and Android Studio there should be a green Android icon with what API version is rendering the layout. Make sure you're using a non W or Wearable API as Android W APIs don't support the EditText element. (EditText is most likely not supported because virtual keyboard space is limited on those devices).

Візуалізаваных прагляд павінна падтрымліваць EditText ў любым API 4.X версіі без цяглага W.

0
дададзена