找不到与给定名称匹配的资源,即使它存在

时间:2013-12-17 11:57:04

标签: java android android-layout layout relativelayout

我有一个android相对布局

 <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <com.my.view.text.MyTextView
        style="@style/textOnBg"
        android:layout_toLeftOf="@id/SkipIcon2"
        android:text="Skip"
        android:textStyle="normal" />

    <ImageView
        android:id="@+id/SkipIcon2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/signup_skip_icon" />
</RelativeLayout>

为什么我会收到此错误:

error: Error: No resource found that matches the given name (at 'layout_toLeftOf' with value '@id/ SkipIcon2').

4 个答案:

答案 0 :(得分:4)

试试这个..

android:layout_toLeftOf="@+id/SkipIcon2"你错过了@+id

 <com.my.view.text.MyTextView
        style="@style/textOnBg"
        android:layout_toLeftOf="@+id/SkipIcon2"
        android:text="Skip"
        android:textStyle="normal" />

嗯,这取决于上下文,当你使用android:id的XML属性时,你正在指定一个新的id,并指示解析器(或称之为构建器) )要在R.java中创建新条目,因此您必须添加+符号。

答案 1 :(得分:2)

您正在尝试使用尚未在R.id中声明的ID。您可以互换视图或

<com.my.view.text.MyTextView
    style="@style/textOnBg"
    android:layout_toLeftOf="@+id/SkipIcon2"
    android:text="Skip"
    android:textStyle="normal" />

<ImageView
    android:id="@id/SkipIcon2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:src="@drawable/signup_skip_icon" />

由于id是final和static,你可以确定它只会被初始化一次

答案 2 :(得分:1)

您在声明之前引用了SkipIcon2。将引用更改为

    android:layout_toLeftOf="@+id/SkipIcon2"

答案 3 :(得分:1)

试试这个

 @+id/SkipIcon2 

而不是

@id/SkipIcon2