この警告の意味は何ですか?
Android:labelFor = "@ id/@ id/editText1"属性を持つこのテキストフィールドを指すラベルビューはありません。
ダブルID(@id/@id
)は問題ですエラーメッセージテキスト付きであり、XMLコンテンツを反映していません(これは正しい構文です)。
labelFor
は、アクセシビリティオプションの属性です。これをラベルに割り当てると、フォーム上でユーザーがテキスト編集フィールドをクリックすると、Androidがユーザーに何を読むか(TalkBack)を知ることができます。
割り当てたIDは有効ではないようです。なぜ2つの@id
idに?次のようなIDを使用します:@id/editText1
同じ警告メッセージが表示されました。 EditTextにヒントを追加すると消えました
Android:hint="Some explanation about the input..."
私はあなたが投稿した正確なエラーに精通していませんが。しかし、間違いなくtextView
のidに何か間違ったことをしたようです。 textView
で次のようなIDを使用します。
Android:id="@+id/editText1"
また、labelFor
を設定する場合は、次を使用します。
Android:labelFor="@+id/editText1"
これはおそらく、この編集テキストのラベルを定義し、そのラベル定義内で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" />
また、テキストビュー専用ではありません。
最初の '@ id /'を削除し、likeを使用します
これは正しい形式です。続けてください。
両方の属性を書くことで解決しました:
Android:id="@+id/editText1" Android:labelFor="@+id/editText1"
editTextを選択し、Propertiesに移動してからLabel forを入力し、@ id/EditText1を入力します
XMLが正しく見え、グラフィカルレイアウトモードになっている場合は、EditTextをサポートしていないAndroidレンダリングレイアウトの新しいバージョンを使用している可能性があります。
EclipseおよびAndroid Studioでは、緑色のAndroid APIのバージョンがレイアウトをレンダリングしているアイコンがあるはずです。非WまたはウェアラブルAPI Android W APIはEditText要素をサポートしていません。
レンダリングされたプレビューは、末尾のWなしのAPI 4.XバージョンでEditTextをサポートする必要があります。