web-dev-qa-db-ja.com

「ラベルビューがこのテキストフィールドを指していません」という警告メッセージの意味

この警告の意味は何ですか?

Android:labelFor = "@ id/@ id/editText1"属性を持つこのテキストフィールドを指すラベルビューはありません。

ダブルID(@id/@id)は問題ですエラーメッセージテキスト付きであり、XMLコンテンツを反映していません(これは正しい構文です)。

34
user2447702

labelForは、アクセシビリティオプションの属性です。これをラベルに割り当てると、フォーム上でユーザーがテキスト編集フィールドをクリックすると、Androidがユーザーに何を読むか(TalkBack)を知ることができます。

割り当てたIDは有効ではないようです。なぜ2つの@id idに?次のようなIDを使用します:@id/editText1

19

同じ警告メッセージが表示されました。 EditTextにヒントを追加すると消えました

Android:hint="Some explanation about the input..."
18
user3596747

私はあなたが投稿した正確なエラーに精通していませんが。しかし、間違いなくtextViewのidに何か間違ったことをしたようです。 textViewで次のようなIDを使用します。

Android:id="@+id/editText1"

また、labelForを設定する場合は、次を使用します。

   Android:labelFor="@+id/editText1"
14
stinepike

これはおそらく、この編集テキストのラベルを定義し、そのラベル定義内でlabelForを使用してリンクする必要があることを意味します。

サンプルコード:

<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" />

また、テキストビュー専用ではありません。

6
YEH

最初の '@ id /'を削除し、likeを使用します

これは正しい形式です。続けてください。

2
thampi joseph

両方の属性を書くことで解決しました:

Android:id="@+id/editText1" Android:labelFor="@+id/editText1"

2
user3245882

editTextを選択し、Propertiesに移動してからLabel forを入力し、@ id/EditText1を入力します

1
Kristina

XMLが正しく見え、グラフィカルレイアウトモードになっている場合は、EditTextをサポートしていないAndroidレンダリングレイアウトの新しいバージョンを使用している可能性があります。

EclipseおよびAndroid Studioでは、緑色のAndroid APIのバージョンがレイアウトをレンダリングしているアイコンがあるはずです。非WまたはウェアラブルAPI Android W APIはEditText要素をサポートしていません

レンダリングされたプレビューは、末尾のWなしのAPI 4.XバージョンでEditTextをサポートする必要があります。

0
TALLBOY