• 11
name

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191

Backtrace:

File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

What is the meaning of this warning?

No label views point to this text field with an android:labelFor="@ id/@ id/editText1" attribute

Note that the double id (@id/@id) is a problem with the error message text and does not reflect the XML content (which is the correct syntax).

The labelFor is an attribute for accessibility options. You assign this to a label so that if, on a form , user clicks a textedit field , android can know what to read (TalkBack) to user.

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

  • 20
Reply Report
      • 1
    • Thanks. This is the only answer that actually explains what "labelFor" does and why we should add it.

Although I am not familiar with the exact error you have posted. But it definitely sounds like you have done something wrong with the id in the textView. Use id like following in your textView.

android:id="@+id/editText1"

And if you want to set labelFor then use :

   android:labelFor="@+id/editText1"
  • 13
Reply Report
      • 2
    • You should not have plus sign in the "labelFor" id. It should be: android:labelFor="@id/editText1" The plus sign is only used once to generate the id.
      • 1
    • @wholladay It does matter if you try to reference an id before it is created. Either you add the +, either you re-organize your xml elements.

It means that you probably should define a label for this edit text and link them using a labelFor inside that labels definition.

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

and it's not only for text views.

  • 6
Reply Report

If the XML looks correct and you're in a Graphical Layout mode then it's probably using a later version of the Android rendering layout that doesn't support 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).

The rendered preview should support EditText in any API 4.X version without a trailing W.

  • 0
Reply Report