为什么现在我不能做android:id =“@ + idLayouName / text”?

时间:2013-09-18 08:48:59

标签: android eclipse

eclipse的错误是:

ID定义必须的格式为@ + id / name;尝试使用“@ + id / ErrorDialog_text”

代码:

  <TextView
    android:id="@+idErrorDialog/text"
    android:layout_width="250dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_margin="15dp"
    android:gravity="center"
    android:text="@string/error_dialog_server_error"
    android:textColor="@color/purple_chart_points"
    android:textSize="16sp"
    android:background="@android:color/transparent" />

我的所有布局都是这样的,我不想改变它们。我喜欢这样做,就像我之前做的那样容易。

5 个答案:

答案 0 :(得分:1)

“@ + id”部分必须跟随“/”。这只是系统识别“/”之后的部分是实际名称的惯例。

答案 1 :(得分:0)

您的ID中缺少一个/

答案 2 :(得分:0)

任何View对象都可以有一个与之关联的整数ID,以唯一标识树中的View。

XML标记内的ID语法为:

 android:id="@+id/ErrorDialogtext" // after @+id you need /

初始化文本视图时

 TextView tv = (TextView) findViewById(R.id.ErrorDialogtext);
 // referring to the resource in R.java 

字符串开头的at符号(@)表示XML解析器应解析并扩展ID字符串的其余部分,并将其标识为ID资源。加号(+)表示这是一个新的资源名称,必须创建并添加到我们的资源中(在R.java文件中)。

您可以在项目中使用R.java.Once在xml文件中添加资源并保存在R.java中的自动输入。

 public static final class id {
      public static final int ErrorDialogtext=0x7f080007; 
      // value in your case might be different
      // do not modify this 
 }

您也可以拥有此

     android:id="@android:id/empty" // referring to the id in the android framework

有关详细信息,请查看以下链接中的ID下的主题

http://developer.android.com/guide/topics/ui/declaring-layout.html

答案 3 :(得分:0)

ID属性的语法是

  

android:id =“@ + id / name”

所以,在日食中它显示错误 使用

  

android:id =“@ + id / ErrorDialog_text”

有关ID属性的更多信息,请参阅以下链接 http://developer.android.com/guide/topics/ui/declaring-layout.html

答案 4 :(得分:0)

ID就像那些不正确。这是我们之前允许的错误。

有关详细信息,请参阅: https://android-review.googlesource.com/#/c/60766/