4

我经常在 xml 文件中收到此错误。这是xml文件中的代码

 <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_centerHorizontal="true"
        android:layout_above="@id/tRowMain"   // in this line i get error resource not found that matches given name
        android:textColor="@color/selectLevel"
        android:id="@+id/tvOnOption"
        android:text="Select Mode"
        />      
    <TableRow android:layout_width="fill_parent" android:id="@+id/tRowMain"
    android:layout_height="wrap_content" android:gravity="center" android:layout_centerVertical="true" android:layout_centerHorizontal="true" >

//然后我签入 R.java 文件,并且该名称的 id 在那里

public static final class id {
        public static final int ibtn_retry=0x7f060006;
        public static final int rLayoutMain=0x7f060000;
        public static final int tRowMain=0x7f060002;

    }

请帮我弄清楚这有什么问题......

谢谢

4

2 回答 2

10

您应该在使用@+id/tRowMainID 的第一个位置使用语法,而不一定是第一个将其定义为元素 ID 的位置。

改变:

android:layout_above="@id/tRowMain"android:layout_above="@+id/tRowMain"

android:id="@+id/tRowMain"android:id="@id/tRowMain

换句话说,在决定是否使用@+idor@id时,将 id 分配给哪个属性并不重要。总是@+id在您第一次在 XML 中提及您的 ID 时使用。

于 2012-04-05T19:53:38.280 回答
1
android:layout_above="@+id/tRowMain"

如果它不起作用,请删除您的 R.java 文件。会重新生成

于 2012-04-05T19:54:13.383 回答